数据开发治理平台 WeData 离线节点高级参数

这篇档汇总 WeData 2.0 数据集成离线同步任务支持的高级参数,可以以在离线同步任务配置中点击”高级参数”进行配置。

相关产品
数据开发治理平台 WeData 产品页,含版本规格、价格与购买入口。

一、使用说明

·参数格式 :参数名称=参数值(如 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=TRUEqueryTimeout=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=TRUEignoreFileNotFound=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'"]

注意:说明:

十二、示例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"}

注意:说明:

赞 (0)
上一篇 4天前
下一篇 4天前