数据仓库服务 GAUSSDB(DWS)-dws-client:详细配置说明
详细配置说明
参数 |
说明 |
默认值 |
支持版本 |
---|---|---|---|
url |
dws数据库JDBC连接地址。 |
- |
1.0 |
username |
dws数据库用户名。 |
- |
|
password |
dws数据库用户密码。 |
- |
|
connectionMaxUseTimeSeconds |
连接最大使用时间(秒),超过该时间会强制关闭当前连接并重新获取;使用COPY_MERGE/COPY_UPSERT时会使用临时表,临时表的schema在连接断开时才会清除,主要用于清除该部分数据。 |
3600 |
|
connectionMaxIdleMs |
连接最大空闲时间(毫秒)。 |
60000 |
|
metadataCacheSeconds |
元数据缓存时间(秒),为提升性能,会对理论上不怎么变更的数据,例如表结构,该参数用于设置缓存过期时间。 |
180 |
|
retryBaseTime |
重试时sleep时间 = retryBaseTime * 次数 + (0~retryRandomTime)毫秒,该参数设置时间基数(毫秒)。 |
1000 |
|
retryRandomTime |
retryBaseTime重试时sleep时间 = retryBaseTime * 次数 +(0~retryRandomTime)毫秒,该参数设置重试时的随机数范围,该参数主要用于在死锁场景将两个task执行时间错开(毫秒)。 |
300 |
|
maxFlushRetryTimes |
执行刷库任务时,最大尝试执行次数。 |
3 |
|
autoFlushBatchSize |
后台任务刷库策略:缓存条数大于等于autoFlushBatchSize或者当前时间 - 缓存开始时间大于等于autoFlushMaxIntervalMs,该参数配置缓存最大条数。 |
5000 |
|
autoFlushMaxIntervalMs |
后台任务刷库策略:缓存条数大于等于autoFlushBatchSize或者当前时间 - 缓存开始时间大于等于autoFlushMaxIntervalMs,该参数配置缓存最大时间(毫秒)。 |
3000 |
|
copyWriteBatchSize |
在writeMode设置为AUTO时,在数据量低于copyWriteBatchSize时会使用upsert方式入库,否则根据是否有主键选择copy/copy+ upsert方式入库。 |
6000 |
|
writeMode |
数据写入模式:
|
AUTO |
|
conflictStrategy |
数据库存在主键时的主键冲突策略:
|
INSERT_OR_UPDATE |
|
threadSize |
执行任务时的并发数量,异步任务中以表为维度提交任务,多表之间可并发;对于同一个表存在对字段列数不同的操作,例如在攒批中存在100条操作A B C字段、200条操作A B D字段那么最后会将操作字段一样的归为一类,不同类之间可并发入库,设置该参数可参考这两个场景设置,以提升吞吐。 |
3 |
|
logSwitch |
日志开关,开启后会打印比较详细的过程日志,便于在调试或定位问题时开启。 |
false |
|
logDataTables |
入库时需要打印数据的表,便于在定位问题时对比数据。 |
- |
|
flushSuccessFunction |
数据入库成功后的回调函数。 |
- |
|
errorFunction |
后台任务执行失败的回调函数。 |
- |
|
batchOutWeighRatio |
为提高整体吞吐,当对autoFlushBatchSize要求不是很严格时,可设置该参数,当往buffer中提交数据时buffer中数据量大于batchOutWeighRatio * autoFlushBatchSize时提交线程将会执行提交入库的任务,该参数用于避免业务线程提交任务,尽量使用后台线程执行提交。 |
1 |
|
tableConfig |
对于conflictStrategy、writeMode、copyWriteBatchSize、autoFlushMaxIntervalMs、autoFlushBatchSize、batchOutWeighRatio在多表共用一个client的情况可能需要根据不同表配置不同值,该参数可实现以上参数的表级配置,在未配置的表则生效全局参数。
说明:
注意一旦配置表级参数,其它表级参数也会被设置默认值,必须将其它表级参数也设置上。 |
- |
|
uniqueKeys |
该参数为表级参数必须通过tableConfig配置,该参数用于在表中无主键但是有唯一索引时,在入库时使用该参数指定字段做唯一约束,在update场景中该字段不需要是唯一索引或者主键,但upsert场景必须要唯一索引或主键。 |
- |
1.0.3 |
copyMode |
使用copy入库的格式: CS V:将数据拼接成字符串数据用双引号包裹的CSV格式,其中字段间以逗号分割,数据间以换行分割。使用jdbc copy api入库,该方式性能略低于DELIMITER方式,但比较稳定可靠。 DELIMITER:将数据字段使用copy api入库,其中字符间以0X1E分割,数据间以0X1F分割。该方式要求数据不包含分隔符,如包含将报错不能正常入库,且该方式定义null字符串为null数据,如果数据为null字符串将被设置为null。 |
CSV |
1.0.6 |
caseSensitive |
表字段大小写是否敏感。 |
false |
1.0.7 |
createTempTableMode |
在使用copy merge/upsert时,创建临时表方式:
|
AS |
1.0.7 |
numberAsEpochMsForDatetime |
如果数据库字段是时间类型(date\time\timestamp)并且数据源为数字类型,是否将源数据按毫秒时间戳转换为对应时间类型。
说明:
|
false |
1.0.9 |
stringToDatetimeFormat |
如果数据库字段是时间类型(date\time\timestamp)并且数据源为字符串类型,通过SimpleDateFormat按stringToDatetimeFormat格式转换为日期类型,然后通过日期中的时间戳构造数据库对应类型数据。
说明:
该参数配置即代表开启,如果不需要请勿配置。 |
null |
|
updateAll |
upsert时set字段是否包含主键。 |
true |
1.0.10 |
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- 如何进行日志采集和转储_日志平台_日志接入_日志转储
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓