结果表
介绍
tdengine支持从tdengine 2.x 版本读取数据或者写入数据
如何创建一个tdengine表
CREATE TABLE source
(
id decimal(38, 0),
t_binary_double double
) WITH (
'connector' = 'tdengine-x',
'url' = 'jdbc:TAOS-RS://tdengine01:6041/db_name',
'table-name' = 'tdengine_all_type_lookup',
'username' = 'tdengine',
'password' = 'tdengine'
);
连接器参数
连接器支持的参数主要是由基础参数加上对应表角色类型参数,如源表则为基础参数加上源表参数,结果表参数为基础参数加上结果表参数
基础参数
| 名称 | 是否必须 | 值 | 类型 | 描述 |
|---|---|---|---|---|
| connector | 是 | (none) | String | 插件名称,tdengine插件需要配置为 tdengine-x |
| url | 是 | (none) | String | 数据源jdbcUrl |
| table-name | 是 | (none) | String | 读取的表名 |
| username | 否 | (none) | String | 数据源用户名 |
| password | 否 | (none) | String | 数据源密码 |
| schema-name | 否 | (none) | String | 读取的表所在schema |
源表参数
| 名称 | 是否必须 | 值 | 类型 | 描述 |
|---|---|---|---|---|
| scan.parallelism | 否 | 1 | INT | 读取并行度 |
| scan.partition.column | 否 | (none) | String | 多并行度时,根据此字段进行划分每个子任务读取范围,相当于splitPk |
| scan.partition.strategy | 否 | (none) | String | 多并行度时,划分子任务的策略,相当于splitStrategy |
| scan.increment.column | 否 | (none) | String | 增量字段名称,相当于increColumn |
| scan.increment.column-type | 否 | (none) | String | 增量字段类型,相当于increColumnType |
| scan.start-location | 否 | (none) | String | 增量任务的起点,相当于startLocation |
| scan.polling-interval | 否 | 0 | INT | 间隔轮询的间隔查询时间,单位毫秒大于0时则认为开启间隔轮询,相当于pollingInterval |
| scan.query-timeout | 否 | 0 | INT | 查询的超时时间 |
| scan.fetch-size | 否 | 1024 | INT | jdbc的FetchSize参数 |
| scan.restore.columnname | 否 | (none) | String | 断点续传字段名称 |
| scan.restore.columntype | 否 | (none) | String | 断点续传字段类型 |
维表参数
| 名称 | 是否必须 | 值 | 类型 | 描述 |
|---|---|---|---|---|
| lookup.cache-type | 否 | LRU(默认)ALL | String | 缓存数据策略,LRU数据会在每次触发join时从数据库读取数据,读取的数据通过LRU机制进行数据缓存ALL初始化维表算子的时候会从数据源中查询所有数据到内存里缓存起来 |
| lookup.cache-period | 否 | 3600000 | INT | 缓存类型为all时,根据配置的缓存周期进行数据重新加载,单位毫秒 |
| lookup.cache.max-rows | 否 | 1000 | INT | 维表缓存数据条数,超过1000条按照LRU进行淘汰 |
| lookup.cache.ttl | 否 | 60000 | INT | 缓存数据的过期时间 |
| lookup.max-retries | 否 | 3 | INT | 维表从数据库查询数据失败进行重试的次数 |
| lookup.error-limit | 否 | 0 | LONG | 查询数据失败,脏数据数量 |
| lookup.fetch-size | 否 | 1000 | INT | jdbc的fetchSize参数 |
| lookup.async-timeout | 否 | 10000 | INT | 维表异步查询超时时间 单位毫秒 |
| lookup.parallelism | 否 | (none) | INT | 维表并行度 |
结果表参数
| 名称 | 是否必须 | 值 | 类型 | 描述 |
|---|---|---|---|---|
| sink.buffer-flush.max-rows | 否 | 1024 | INT | 批量写数据大小 |
| sink.buffer-flush.interval | 否 | 10000 | INT | 批量写间隔时间 |
| sink.parallelism | 否 | (none) | INT | sink算子并行度 |
| sink.all-replace | 否 | false | Boolean | 写入数据时,如果是根据主键更新,则是否NULL替换原有字段值 |
| sink.semantic | 否 | at-least-once(默认) exactly-once | String | 任务一致性级别at-least-once至少一次,数据有可能重复写入exactly-once 精确一次,数据写入不多不少,不会重复也不会丢失 |