数据湖探索 DLI-DWS结果表(不推荐使用):参数说明

时间:2024-12-27 10:34:33

参数说明

表1 参数说明

参数

是否必选

默认值

类型

说明

connector

String

指定要使用的连接器,这里是'gaussdb'

url

String

jdbc连接地址 。

使用gsjdbc4驱动连接时,格式为:jdbc:postgresql://${ip}:${port}/${dbName} 。

使用gsjdbc200驱动连接时,格式为:jdbc:gaussdb://${ip}:${port}/${dbName}。

table-name

String

操作的表名。如果该DWS表在某schema下,则格式为:'schema\".\"具体表名',具体可以参考常见问题说明。

driver

org.postgresql.Driver

String

jdbc连接驱动,默认为: org.postgresql.Driver。

  • 使用gsjdbc4驱动连接时,加载的数据库驱动类为:org.postgresql.Driver。
  • 使用gsjdbc200驱动连接时,加载的数据库驱动类为:com.huawei.gauss200.jdbc.Driver。

username

String

DWS数据库认证用户名,需要和'password'一起配置

password

String

DWS数据库认证密码,需要和'username'一起配置

write.mode

String

数据写入模式,支持: copy, insert以及upsert三种。默认值为upsert。

该参数与'primary key'配合使用。

  • 未配置'primary key'时,支持copy及insert两种模式追加写入。
  • 配置'primary key',支持copy、upsert以及insert三种模式更新写入。

注意:由于dws不支持更新分布列,因而配置的更新主键必须包含dws表中定义的所有分布列。

sink.buffer-flush.max-rows

100

Integer

每次写入请求缓存的最大行数。

它能提升写入数据的性能,但是也可能增加延迟。

设置为 "0" 关闭此选项。

sink.buffer-flush.interval

1s

Duration

刷新缓存的间隔,在这段时间内以异步线程刷新数据。

它能提升写入数据库的性能,但是也可能增加延迟。

设置为 "0" 关闭此选项。

注意:"sink.buffer-flush.max-size" 和 "sink.buffer-flush.max-rows" 同时设置为 "0",并设置刷新缓存的间隔,则以完整的异步处理方式刷新缓存。

格式为:{length value}{time unit label},如123ms, 321s,支持的时间单位包括: d,h,min,s,ms等,默认为ms。

sink.max-retries

3

Integer

写入最大重试次数。

write.escape-string-value

false

Boolean

是否对string类型值进行转义。该参数仅用于write.mode为copy模式下。

key-by-before-sink

false

Boolean

在sink算子前是否按指定的主键进行分区。

该参数旨在解决多并发写入的场景下且write.mode为upsert时,如果多个子任务中写入sink的一批数据具有不止一条相同的主键,并且主键相同的这些数据先后顺序不一致,就会导致两个子任务在向DWS根据主键获取行锁时发生互锁的问题。

support.huaweicloud.com/sqlref-flink-dli/dli_08_15105.html