概要描述
本文主要描述 TDS 中数据加载任务的常用的服务参数的作用。
详细说明
什么是数据加载任务的服务参数
在数据加载任务的参数配置中可以查看所有的参数,其中参数类型为服务参数的是 Transporter 组件相关的参数。
常用的服务参数介绍
下面将介绍一些常见的服务参数。注意,并非所有的 TDS 版本都支持这些参数,在早期版本中可能部分参数不可用,如参数配置页面找不到该参数,请咨询星环售后技术支持。
tdt.job.cleaning
tdt.job.cleaning
参数控制数据加载任务结束后是否清理中间表,默认为true
清理,在需要调试排查数据加载任务问题时,可能会需要将其修改为false
以便保留中间表用于问题排查。
tdt.jdbc.mapper.size
tdt.jdbc.mapper.size
参数控制数据加载任务在切分源端数据确定数据加载task数时,在条件允许时每个task处理的数据量的最大值(单位为MB)。默认配置为1024,即1GB,这代表当最大连接数允许时,每个task处理最大1GB的数据量。
但需要注意,当源库最大连接数做了限制,且 TDS 通过源端系统表计算出来的 task 数量超过源库最大连接数时,此时每个 task 可能会处理超过tdt.jdbc.mapper.size
配置的数据量。
tdt.job.mapper.count.optimize
tdt.job.mapper.count.optimize
参数控制数据加载任务是否通过 TDS 连接源端的系统表来计算 task 数,默认为true
。当配置为false
时,TDS 将不会读取源端系统表,tdt.jdbc.mapper.size
配置也随之失效,此时数据加载的task数为源库最大连接数所配置的固定值。
tdt.strict.mode
tdt.strict.mode
参数控制数据加载任务在卸数场景时是否启用严格模式,默认为false
不启用。
严格模式与非严格模式的区别是:
-
非严格模式下,写入目标表时,不会做额外处理,字段名不会使用转义。insert into 对名称大小写的实际处理效果取决于不同数据库的默认处理方式。
-
严格模式下,写入目标表时,会对字段名增加转义;需要注意,如果目标库大小写敏感,目标字段名、表名大写,需要为任务配置对应的名称映射,将inceptor/argodb小写名称转为正确的目标名称
tdt.match.byname
tdt.match.byname
参数控制数据加载任务是否按名称匹配目标端字段,默认为true
。若开启,TDS 在写入数据前会对目标端字段做是否匹配的检查,若关闭则不会检查并按顺序写入。