数据开发治理平台 WeData TDengine 数据源

这篇说说腾讯云TDengine离线单表读取与写入节点的配置参数(数据来源/去向、库、表类型、子表、筛选条件等),支持TAOS-RS连接及3.1.1.0/3.1.1.35版本,并提供数据类型转换映射和脚本Demo。 读取节点:支持选择普通表或超级表,超级表可指定子表,默认拉取全部子表。 写入节点:支持批量提交大小设置,超级表仅可选一张子表写入。 数据类型:读取时TINYINT等转为LONG,写入时LONG可转为TIME。

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

一、使用限制

·仅支持 TAOS-RS 连接方式。

·支持3.1.1.0、3.1.1.35版本。

·不建议在一个 super_table 中建立过多的 child_table 和 tag, 会显著影响同步速率。

二、TDengine 离线单表读取节点配置

参数 说明
数据来源 选择当前项目中可用的 TDengine 数据源。
库 支持选择、或者手动输入需读取的库名称默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
表类型 支持选择普通表或超级表。
表名称 支持选择或输入普通表或超级表的表名称。
子表 表类型选中超级表时展示该项,支持选择一张或多张子表。说明:若为该项为空,则代表选择全部子表;选择多张子表时,来源端默认自动拉取第一张表的字段信息。
筛选条件 根据数据类型填写对应筛选语句,该语句会作为将要同步数据的筛选条件。

三、TDengine 离线单表写入节点配置

参数 说明
数据去向 选择当前项目中可用的 TDengine 数据源。
库 支持选择、或者手动输入需读取的库名称默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。
表类型 支持选择普通表或超级表。
表名称 支持选择或输入普通表或超级表的表名称。
子表 表类型选中超级表时展示该项,支持选择一张子表。
批量提交大小 一次性批量提交的记录数大小,该值可以极大减少数据同步系统与 Redis 的网络交互次数,并提升整体吞吐量。如果该值设置过大,会导致数据同步运行进程 OOM 异常。

四、读取

TDengine 数据类型 内部类型
TINYINT、SMALLINT、INTEGER、BIGINT LONG
FLOAT、DOUBLE DOUBLE
TIMESTAMP DATE
BOOLEAN BOOL
BINARY、VARBINARY、VARCHAR BYTES
NCHAR、OTHER STRING

五、写入

内部类型 TDengine 数据类型
LONG TIMESTAMP、TINYINT、SMALLINT、INT、BIGINT
DOUBLE FLOAT、DOUBLE
STRING TIMESTAMP、BINARY、NCHAR
BOOL BOOL
DATE TIMESTAMP
BYTES BINARY

六、TDengine 脚本 Demo

如果你配置离线任务时,使用脚本模式的方式进行配置,你需要在任务脚本中,按照脚本的统一格式要求编写脚本中的 reader 参数和 writer 参数。

{ "job": { "content": [ { "reader": { "name": "tdenginereader", "parameter": { "username": "root", // 必填,用户名 "password": "******", //必填,密码 "connection": [ { "table": [ // 必填,源表集合 "source_table" ], "jdbcUrl": [ "jdbc:TAOS-RS://ip:port/test?timestampFormat=TIMESTAMP" ] } ], "column": [ //列名 "ts", "current" ], "where": "ts>=0", //筛选条件 "beginDateTime": "2017-07-14 10:40:00", //数据的开始时间,Job 迁移从 begineDateTime 到 endDateTime 的数据,格式为 yyyy-MM-dd HH:mm:ss "endDateTime": "2017-08-14 10:40:00" //数据的结束时间,Job 迁移从 begineDateTime 到 endDateTime 的数据,格式为 yyyy-MM-dd HH:mm:ss } }, "writer": { "name": "tdenginewriter", "parameter": { "username": "root", // 必填,用户名 "password": "******", //必填,密码 "column": [ //列名 "tbname", "time" ], "connection": [ { "table": [ // 必填,目标表集合 "target_table" ], "jdbcUrl": "jdbc:TAOS-RS://ip:port/test" } ], "batchSize": 100, //批量提交大小 "ignoreTagsUnmatched": true //当table为TDengine中的一张子表,table具有tag值。如果数据的tag值与table的tag值不相等,数据不写入到table中。 } } } ], "setting": { "errorLimit":{ "record": 0 //脏数据阈值 }, "speed": { "channel": 1, //并发数量 "byte": -1 //不限制同步速度,正整数表示设置最大传输速度 byte/s } } }}

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