离线节点高级参数

最近更新时间:2026-06-26 17:47:20

我的收藏
本文档汇总 WeData 2.0 数据集成离线同步任务支持的高级参数,您可以在离线同步任务配置中点击"高级参数"进行配置。

使用说明

参数格式 :参数名称=参数值(如 ignoreDirEmpty=TRUE)。
参数适用范围 :不同数据源支持的参数不同,请在对应数据源的离线同步任务中查看可用参数。
参数大小写 :参数名称区分大小写,请严格按照文档填写。

高级参数明细

离线类型
读/写
参数
取值参考
描述
可选值
COS
读取端
ignoreDirEmpty
TRUE
添加该参数后,在数据同步模式下源端文件路径下没有文件或只有空文件时任务不报错。
不添加该参数则默认 ignoreDirEmpty=false,源端文件路径下没有文件或只有空文件时任务报错。
true,false
COS
读取端
ignoreFileNotFound
TRUE
添加该参数后,在数据同步或文件传输模式下源端文件或文件路径不存在时任务不报错。
不添加该参数则默认 ignoreFileNotFound=false,源端文件或文件路径不存在时任务报错。
true,false
COS
读取端
transEmpFile
TRUE
添加该参数后,在文件传输模式下支持将空文件同步至 FTP/SFTP/HDFS/S3/COS 目标端。
不添加该参数则默认 transEmpFile=false,在文件传输模式下不同步空文件。
true,false
COS
写入端
splitFileSize
134217728
单文件切分大小。
针对 hive on COS 不生效 ;支持 text、orc、parquet 类型的文件。
-
COS
写入端
hadoopConfig
{}
支持添加配置到 hadoopConfig 中
-
COS
写入端
saveEmpFile
TRUE
添加该参数后,在数据同步模式下源端无数据时目标端生成的空文件保留。
不添加该参数则默认 saveEmpFile=false,在数据同步模式下源端无数据时目标端不保留生成的空文件。
true,false
DLC
读取端
fs.cosn.trsf.fs.ofs.data.transfer.thread.count
32
通过该参数可以设置读/写数据时的并行线程数,若不设置则默认值为32
-
DLC
读取端
fs.cosn.trsf.fs.ofs.prev.read.block.count
4
通过该参数可以设置预读数据块的数量,若不设置则默认值为4。
-
DLC
读取端
ignoreNullFormat
TRUE
添加该参数后,源端的空字符串将以空字符串形式写入目标端。
不添加该参数默认 ignoreNullFormat=false,源端的空字符串将默认以 null 值写入目标端。
true,false
DLC
读取端
session
["spark.sql.xxx=value"]
设置 DLC session 参数,具体 session 支持参数由 DLC 引擎支持,可查询 DLC 官方文档
-
DLC
写入端
fs.cosn.trsf.fs.ofs.data.transfer.thread.count
32
通过该参数可以设置读/写数据时的并行线程数,若不设置则默认值为32
-
达梦 DM
读取端
queryTimeout
172800
该参数用于设置数据库查询的最大运行时间,单位默认为秒(s)。添加该参数后,若数据库查询运行时间超过设置时间则任务状态自动置为失败。
不添加该参数则默认 queryTimeout=172800。
-
达梦 DM
读取端
session
["SET SESSION QUERY_TIMEOUT = 60000"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
达梦 DM
写入端
session
["SET SESSION QUERY_TIMEOUT = 60000"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Doris
读取端
query_timeout
604800
查询的超时时间,以秒为单位
-
Doris
读取端
exec_mem_limit
4294967296
设置执行内存限制,用于限制查询执行过程中的内存使用
-
Doris
读取端
parallel_fragment_exec_instance_num
8
指定并行片段执行的实例数
-
Doris
写入端
sameNameWildcardColumn
TRUE
MySQL-Doris 配置* 支持同名字段映射
true,false
Doris
写入端
loadProps
{"format":"csv","column_separator":"\\x01","row_delimiter":"\\x03"}
CSV 格式写入。相对默认的 JSON 格式写入性能更高。需要配合行分隔符\\x03一起使用。分割符不支持\\r、\\b,十六进制的隐藏字符需要以\\形式输入
-
DORIS
写入端
replaceDelimiter
替换符
如果数据项中包含作为分隔符的字符,将数据导入时,按照分割符分隔数据会导致字段错位。
添加该参数可以将数据项中与指定行分割符或列分割符一致的字符先替换为用户自定义的字符(替换操作会改变数据),再按照行分割符或列分割分隔数据。
不添加该参数时,直接按照分隔符分隔数据。
-
ElasticSearch /腾讯云 ElasticSearch
写入端
compression
TRUE
HTTP 请求,开启压缩
-
ElasticSearch /腾讯云 ElasticSearch
写入端
multiThread
TRUE
HTTP 请求,是否有多线程
true,false
ElasticSearch /腾讯云 ElasticSearch
写入端
ignoreWriterError
FALSE
忽略写入错误,不重试,继续写入
true,false
ElasticSearch /腾讯云 ElasticSearch
写入端
ignoreParseError
FALSE
忽略解析数据格式错误,继续写入
true,false
ElasticSearch /腾讯云 ElasticSearch
写入端
alias

Elasticsearch 的别名类似于数据库的视图机制,为索引 my_index 创建一个别名 my_index_alias,对 my_index_alias 的操作与 my_index 的操作一致。配置 alias 表示在数据导入完成后,为指定的索引创建别名。
-
ElasticSearch /腾讯云 ElasticSearch
写入端
aliasMode
append
数据导入完成后增加别名的模式,包括 append(增加模式和 exclusive(只留这一个),append 表示追加当前索引至名 alias 映射中(一个别名对应多个索引)exclusive 表示首先删除名 alias,再添加当前索引至别名 alias 映射中(一个别名对应一个索引)。后续会转换别名为实际的索引名称,别名可以用来进行索引迁移和多个索引的查询统一,并可以用来实现视图的功能。
append,exclusive
ElasticSearch /腾讯云 ElasticSearch
写入端
nullToDate
null
null 值转 date 类型,填充 null
-
FTP
读取端
ignoreFileNotFound
TRUE
添加该参数后,在数据同步或文件传输模式下源端文件或文件路径不存在时任务不报错。
不添加该参数则默认 ignoreFileNotFound=false,源端文件或文件路径不存在时任务报错。
true,false
FTP
读取端
transEmpFile
TRUE
添加该参数后,在文件传输模式下支持将空文件同步至 FTP/SFTP/HDFS/S3/COS 目标端。
不添加该参数则默认 transEmpFile=false,在文件传输模式下不同步空文件。
true,false
FTP
写入端
deleteEmpFile
TRUE
添加该参数后,在数据同步模式下源端无数据时,不保留目标端生成的空文件。
不添加该参数则默认 deleteEmpFile=false,在数据同步模式下源端无数据时,保留目标端生成的空文件。
true,false
HBase
写入端
hbase.client.keyvalue.maxsize
10485760
用于限制单个 KeyValue 对象的最大大小,默认 10MB
-
HDFS
读取端
ignoreDirEmpty
TRUE
添加该参数后,在数据同步模式下源端文件路径下没有文件或只有空文件时任务不报错。
不添加该参数则默认 ignoreDirEmpty=false,源端文件路径下没有文件或只有空文件时任务报错。
true,false
HDFS
读取端
ignoreFileNotFound
TRUE
添加该参数后,在数据同步或文件传输模式下源端文件或文件路径不存在时任务不报错。
不添加该参数则默认 ignoreFileNotFound=false,源端文件或文件路径不存在时任务报错。
true,false
HDFS
读取端
transEmpFile
TRUE
添加该参数后,在文件传输模式下支持将空文件同步至 FTP/SFTP/HDFS/S3/COS 目标端。
不添加该参数则默认 transEmpFile=false,在文件传输模式下不同步空文件。
true,false
HDFS
写入端
splitFileSize
134217728
单文件切分大小。
hive on hdfs 不生效;支持 text、orc、parquet 类型的文件
-
HDFS
写入端
writeMode
overwrite
该参数适用于文件传输方式。添加该参数后,会在写入前清理目标端与源端重名的文件。若
不添加该参数,则在文件传输方式下默认 writeMode=nonconflict,即遇到源端与目标端重名文件时跳过写入
append,overwrite,nonconflict,truncate
HDFS
写入端
saveEmpFile
TRUE
添加该参数后,在数据同步模式下源端无数据时目标端生成的空文件保留。
不添加该参数则默认 saveEmpFile=false,在数据同步模式下源端无数据时目标端不保留生成的空文件。
true,false
Hive
读取端
hive.execution.engine
mr
hive.execution.engine 用于指定 Hive 查询的执行引擎为 mr;mapreduce.job.queuename=root.default 用于指定作业(job)提交到哪个队列(queue)中执行。二者需配合使用才能生效。
-
Hive
读取端
mapreduce.job.queuename
root.default
hive.execution.engine 用于指定 Hive 查询的执行引擎为 mr;mapreduce.job.queuename=root.default 用于指定作业(job)提交到哪个队列(queue)中执行。二者需配合使用才能生效。
-
Hive
读取端
session
["set hive.execution.engine=spark", "set spark.yarn.queue=default", "set spark.executor.instances=10", "set spark.executor.cores=4", "set spark.executor.memory=10g", "set spark.app.name=xxx"]
hive.execution.engine=spark 用于指定 Hive 查询的执行引擎为 spark;spark.yarn.queue=default 用于指定 YARN 资源队列名称,用于资源调度;spark.executor.instances=10用于指定启动的 Executor 实例数量;spark.executor.cores=4用于为每个 Executor 分配的 CPU 核心数;spark.executor.memory=10g 用于为每个 Executor 分配的内存大小;spark.app.name=xxx 用于在 Spark 集群监控界面中标识您的作业,其中 xxx 占位符需要自行输入。
-
Hive
写入端
compress
none/snappy/lz4/bzip2/gzip/deflate
默认为 none。只对 textfile 格式有效,对 orc/parquet 无效(orc/parquet 需要在建表语句指定压缩)
none,snappy,lz4,bzip2,gzip,deflate
Hive
写入端
partition
static
静态分区模式。适用于单分区写入,更节省内存。
static
Hudi
读取端
session
["set spark.yarn.queue=default", "set spark.executor.instances=10", "set spark.executor.cores=4", "set spark.executor.memory=10g", "set spark.app.name=xxx"]
hudi.execution.engine=spark 用于指定 Hudi 查询的执行引擎为 spark;spark.yarn.queue=default 用于指定 YARN 资源队列名称,用于资源调度;spark.executor.instances=10用于指定启动的 Executor 实例数量;spark.executor.cores=4用于为每个 Executor 分配的 CPU 核心数;spark.executor.memory=10g 用于为每个 Executor 分配的内存大小;spark.app.name=xxx 用于在 Spark 集群监控界面中标识您的作业,其中 xxx 占位符需要自行输入。
-
Hudi
写入端
compress
none/snappy/lz4/bzip2/gzip/deflate
默认为 none。只对 textfile 格式有效,对 orc/parquet 无效(orc/parquet 需要在建表语句指定压缩)
none,snappy,lz4,bzip2,gzip,deflate
Hudi
写入端
partition
static
静态分区模式。适用于单分区写入,更节省内存。
static
Kafka
写入端
kafkaConfig
{}
支持 Kafka Producer 配置项
-
MongoDB
读取端
batchSize
1000
批量读取的条数
-
MongoDB
读取端
formatISODate
false
读取时将 ISODate 格式化为 yyyy-MM-dd HH:mm:ss ,默认 false(不格式化)
true,false
MongoDB
写入端
replaceKey
id
写入模式为覆盖写入时,用来作为更新的业务主键。支持联合主键,需用逗号隔开主键,如 replaceKey=id,data
-
MongoDB
写入端
batchSize
2000
批量写入的条数,若不设置,默认为1000
-
MySQL
读取端
splitFactor
5
分片因子
-
MySQL
读取端
queryTimeout
172800
该参数用于设置数据库查询的最大运行时间,单位默认为秒(s)。添加该参数后,若数据库查询运行时间超过设置时间则任务状态自动置为失败。若不添加该参数则默认 queryTimeout=172800
-
MySQL
读取端
preserveTemporalScaleFromSchema
FALSE
写入时保留源端时间值精度,解决0.0000被写成0.00的问题(默认 FALSE,不保留)
-
MySQL
读取端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
MySQL
写入端
sql_mode
ANSI
用于控制 SQL 语句的语法规则、数据校验严格程度和兼容性模式,决定数据库如何处理非标准或可能出错的数据和操作(默认参数 sql_mode=ANSI)
-
MySQL
写入端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
OceanBase
读取端
splitFactor
5
分片因子
-
Oracle
读取端
queryTimeout
172800
该参数用于设置数据库查询的最大运行时间,单位默认为秒(s)。添加该参数后,若数据库查询运行时间超过设置时间则任务状态自动置为失败。若不添加该参数则默认 queryTimeout=172800
-
Oracle
读取端
session
["ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Oracle
写入端
session
["ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Redis
写入端
redisMode
ClusterMode
Redis writer 支持 cluster
ClusterMode
REST API
读取端
connectTimeout
30
添加该参数后可设置连接超时时间,单位默认为秒,若不添加该参数默认 connectTimeout=5。
-
REST API
读取端
socketTimeout
60
添加该参数后可设置 Socket 超时时间,单位默认为秒,若不添加该参数默认 socketTimeout=10。
-
REST API
读取端
recordNumPerPage
20
该参数用于指定每页返回的记录数。添加该参数后,自定义的请求终点失效,系统将根据指定值自动分页,若不设置 maxPageNum 参数,则默认最大请求页数 maxPageNum=10000。当服务器返回的记录数少于指定值时,视为最后一页并停止请求(注意:返回的记录数等于指定值时,无法判断是否为最后一页将再次请求)。若不添加该参数,将按默认的自定义请求终点获取数据。
-
REST API
读取端
maxPageNum
10000
该参数用于指定最大请求页数,且必须与 recordNumPerPage 参数一起使用,否则该参数不生效。添加该参数后,请求页数达到指定值时将停止请求。
-
S3
读取端
ignoreDirEmpty
TRUE
添加该参数后,在数据同步模式下源端文件路径下没有文件或只有空文件时任务不报错。不添加该参数则默认 ignoreDirEmpty=false,源端文件路径下没有文件或只有空文件时任务报错。
true,false
S3
读取端
ignoreFileNotFound
TRUE
添加该参数后,在数据同步或文件传输模式下源端文件或文件路径不存在时任务不报错。不添加该参数则默认 ignoreFileNotFound=false,源端文件或文件路径不存在时任务报错。
true,false
S3
读取端
transEmpFile
TRUE
添加该参数后,在文件传输模式下支持将空文件同步至 FTP/SFTP/HDFS/S3/COS 目标端。不添加该参数则默认 transEmpFile=false,在文件传输模式下不同步空文件。
true,false
S3
写入端
saveEmpFile
TRUE
添加该参数后,在数据同步模式下源端无数据时目标端生成的空文件保留。不添加该参数则默认 saveEmpFile=false,在数据同步模式下源端无数据时目标端不保留生成的空文件。
true,false
SAP HANA
读取端
isFullTableName
TRUE
添加该参数后输入或选择的表名视为完整名称。若不添加该参数,默认 isFullTableName=false 即表名包含"."时自动解析为 Schema.Table
true,false
SAP HANA
读取端
session
["SET SESSION 'statement_timeout' = '60'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
SAP HANA
写入端
isFullTableName
TRUE
添加该参数后输入或选择的表名视为完整名称。若不添加该参数,默认 isFullTableName=false 即表名包含"."时自动解析为 Schema.Table
true,false
SAP HANA
写入端
session
["SET SESSION 'statement_timeout' = '60'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
SFTP
读取端
ignoreFileNotFound
TRUE
添加该参数后,在数据同步或文件传输模式下源端文件或文件路径不存在时任务不报错。不添加该参数则默认 ignoreFileNotFound=false,源端文件或文件路径不存在时任务报错。
true,false
SFTP
读取端
transEmpFile
TRUE
添加该参数后,在文件传输模式下支持将空文件同步至 FTP/SFTP/HDFS/S3/COS 目标端。不添加该参数则默认 transEmpFile=false,在文件传输模式下不同步空文件。
true,false
SFTP
写入端
deleteEmpFile
TRUE
添加该参数后,在数据同步模式下源端无数据时目标端生成的空文件不保留。不添加该参数则默认 deleteEmpFile=false,在数据同步模式下源端无数据时保留目标端生成的空文件。
true,false
SQL Server
读取端
queryTimeout
172800
该参数用于设置数据库查询的最大运行时间,单位默认为秒(s)。添加该参数后,若数据库查询运行时间超过设置时间则任务状态自动置为失败。若不添加该参数则默认 queryTimeout=172800
-
SQL Server
读取端
session
["SET LOCK_TIMEOUT 30000"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
SQL Server
写入端
session
["SET LOCK_TIMEOUT 30000"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
StarRocks
读取端
splitFactor
5
分片因子
-
StarRocks
读取端
query_timeout
604800
查询的超时时间,以秒为单位
-
StarRocks
读取端
exec_mem_limit
4294967296
设置执行内存限制,用于限制查询执行过程中的内存使用
-
StarRocks
读取端
parallel_fragment_exec_instance_num
8
指定并行片段执行的实例数
-
StarRocks
写入端
loadProps
{"format":"csv","column_separator":"\\x01","row_delimiter":"\\x03"}
CSV 格式写入。相对默认的 JSON 格式写入性能更高。需要配合行分隔符\\x03一起使用。分割符不支持\\r、\\b,十六进制的隐藏字符需要以\\形式输入
-
StarRocks
写入端
replaceDelimiter
替换符
如果数据项中包含作为分隔符的字符,将数据导入时,按照分割符分隔数据会导致字段错位。添加该参数可以将数据项中与指定行分割符或列分割符一致的字符先替换为用户自定义的字符(替换操作会改变数据),再按照行分割符或列分割分隔数据。不添加该参数时,直接按照分割符分隔数据。
-
TDSQL MYSQL
读取端
splitFactor
5
分片因子
-
TDSQL MYSQL
读取端
preserveTemporalScaleFromSchema
FALSE
写入时保留源端时间值精度,解决0.0000被写成0.00的问题(默认 FALSE,不保留)
-
TDSQL MYSQL
读取端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TDSQL MYSQL
写入端
sql_mode
ANSI
用于控制 SQL 语句的语法规则、数据校验严格程度和兼容性模式,决定数据库如何处理非标准或可能出错的数据和操作(默认参数 sql_mode=ANSI)
-
TDSQL MYSQL
写入端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TDSQLC
读取端
preserveTemporalScaleFromSchema
FALSE
写入时保留源端时间值精度,解决0.0000被写成0.00的问题(默认 FALSE,不保留)
-
TDSQLC
读取端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TDSQLC
写入端
sql_mode
ANSI
用于控制 SQL 语句的语法规则、数据校验严格程度和兼容性模式,决定数据库如何处理非标准或可能出错的数据和操作(默认参数 sql_mode=ANSI)
-
TDSQLC
写入端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
腾讯云 MongoDB
读取端
batchSize
1000
批量读取的条数
-
腾讯云 MongoDB
写入端
replaceKey
id
写入模式为覆盖写入时,用来作为更新的业务主键。支持联合主键,需用逗号隔开主键,如 replaceKey=id,data
-
腾讯云 MongoDB
写入端
batchSize
2000
批量写入的条数,若不设置,默认为1000
-
腾讯云 MySQL
读取端
preserveTemporalScaleFromSchema
FALSE
写入时保留源端时间值精度,解决0.0000被写成0.00的问题(默认 FALSE,不保留)
-
腾讯云 MySQL
读取端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
腾讯云 MySQL
写入端
sql_mode
ANSI
用于控制 SQL 语句的语法规则、数据校验严格程度和兼容性模式,决定数据库如何处理非标准或可能出错的数据和操作(默认参数 sql_mode=ANSI)
-
腾讯云 MySQL
写入端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TiDB
读取端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TiDB
写入端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
PostgreSQL
读取端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
PostgreSQL
写入端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
GaussDB
读取端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
GaussDB
写入端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Greenplum
读取端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Greenplum
写入端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Tbase
读取端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Tbase
写入端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TDSQL PostgreSQL
读取端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
TDSQL PostgreSQL
写入端
session
["SET statement_timeout='5min'"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
DB2
读取端
session
["SET CURRENT LOCK TIMEOUT 30"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
DB2
写入端
session
["SET CURRENT LOCK TIMEOUT 30"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Sybase
读取端
session
["SET QUERY_TIMEOUT 60"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Gbase
读取端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-
Gbase
写入端
session
["SET SESSION wait_timeout=28800"]
设置 session 参数,具体 session 支持参数可查询数据源官网
-

常见问题

1. 如何配置多个高级参数?

在离线同步任务配置的"高级参数"中,每个参数占一行,格式为 参数名称=参数值,例如:
ignoreDirEmpty=TRUE
queryTimeout=172800

2. 参数是否区分大小写?

是的,参数名称区分大小写,请严格按照文档中的参数名称填写。

3. 参数配置后多久生效?

高级参数在任务保存后生效,重启任务后配置生效。

实践示例

本文档汇总常见的高级参数使用场景,帮助您快速解决离线同步任务中的问题。

示例1:MySQL 数据源连通性报错(时区问题)

报错摘要
配置 MySQL 数据源后,测试连通性时报错,错误信息包含时区相关异常(如 The server time zone value 'XXX' is unrecognized)。
原因分析
MySQL JDBC 连接需要指定时区参数 serverTimezone,若未配置或配置错误,会导致连接失败。WeData 高级参数中的 session 参数可用于设置时区。
参数配置
在离线同步任务的"高级参数"中,添加以下配置(读取端和写入端均需配置):
session=["SET time_zone='+08:00'"]
说明:
+08:00 表示东八区(中国时区),请根据实际业务需求调整。

示例2:Doris 数据同步出现数据重复

报错摘要
Doris 数据同步任务执行成功后,查询目标表发现数据重复(数据条数大于源端)。
原因分析
Doris 写入时需要正确配置主键模式(sameNameWildcardColumn),若未配置或配置不正确,会导致数据重复写入而非更新。
参数配置
在离线同步任务目标端(Doris)的"高级参数"中,添加以下配置:
sameNameWildcardColumn=TRUE
说明:
该参数用于支持同名字段映射,避免数据重复写入。

示例3:读取空文件时作业报错

报错摘要
离线同步任务读取 COS/SFTP/HDFS 等文件系统时,若源端文件路径下没有文件或只有空文件,任务报错失败。
原因分析
默认情况下,WeData 要求源端文件路径下必须存在有效文件,否则任务会报错。若业务场景允许空文件或空目录,需配置忽略参数。
参数配置
根据数据源类型,在离线同步任务读取端的"高级参数"中,添加以下配置:
COS/S3/FTP/SFTP/HDFS 读取端
ignoreDirEmpty=TRUE
ignoreFileNotFound=TRUE
文件传输模式(允许同步空文件):
transEmpFile=TRUE
说明:
ignoreDirEmpty=TRUE:源端文件路径下没有文件或只有空文件时,任务不报错。
ignoreFileNotFound=TRUE:源端文件或文件路径不存在时,任务不报错。
transEmpFile=TRUE:在文件传输模式下,支持将空文件同步至目标端。

示例4:DLC 空字符串写入为 NULL 导致数据不一致

报错摘要
使用 DLC 作为源端进行数据同步时,源端的空字符串('')在写入目标端后变成 NULL,导致源端与目标端数据不一致。
原因分析
DLC 底层存储机制会将空字符串写入为 NULL 值。若不配置 ignoreNullFormat 参数,WeData 会默认将源端的空字符串以 NULL 值写入目标端。
参数配置
在离线同步任务源端(DLC 读取端)的"高级参数"中,添加以下配置:
ignoreNullFormat=TRUE
说明:
配置该参数后,源端的空字符串将以空字符串形式写入目标端,而非 NULL 值。

示例5:MySQL 日期字段为 '0000-00-00 00:00:00' 时读取异常

报错摘要
MySQL 源端表中存在日期字段值为 0000-00-00 00:00:00 时,离线同步任务读取报错(如 Cannot convert value '0000-00-00 00:00:00' from column X to TIMESTAMP)。
原因分析
MySQL JDBC 驱动默认不支持将 0000-00-00 00:00:00 转换为合法的 TIMESTAMP 值。需通过 session 参数设置 SQL 模式,允许非法日期值。
参数配置
在离线同步任务源端(MySQL 读取端)的"高级参数"中,添加以下配置:
session=["SET SESSION sql_mode='ALLOW_INVALID_DATES'"]
说明:
ALLOW_INVALID_DATES:允许存储和读取非法日期值(如 0000-00-00)。
若需同时保留其他 SQL 模式,请在 sql_mode 中添加该选项,而非完全替换。

示例6:Kafka 生产者参数调优(batch.size、linger.ms)

报错摘要
使用 WeData 将数据写入 Kafka 时,发现吞吐量较低,或希望优化 Kafka 生产者的批量发送行为。
原因分析
Kafka 生产者有两个关键参数影响批量发送性能:
batch.size:每个批次可使用的内存字节数,默认 16384(16KB)。
linger.ms:发送前等待更多消息加入批次的时间(毫秒),默认 0(立即发送)。
参数配置
在离线同步任务目标端(Kafka 写入端)的"高级参数"中,添加以下配置:
kafkaConfig={"batch.size":"32768","linger.ms":"100"}
说明:
batch.size:设置为 32768(32KB)可提高批量发送效率,但会增加内存占用。
linger.ms:设置为 100ms 可在延迟和吞吐量之间取得平衡。
请根据实际业务场景(吞吐量 vs 延迟)调整参数值。