小 T 导读:DataX 是由阿里云开源的离线数据同步工具/平台,目前已经支持多种主流异构数据源在内的高效的数据互相同步功能。我们的研发团队完成了 TDengine 的适配,相关代码已被 DataX 官方接受并合并到主干中。

DataX 是由阿里云开源的离线数据同步工具/平台,目前已经实现了包括 MySQL、Oracle、OceanBase、SQL Server、PostgreSQL、HDFS、Hive、HBase 等多种异构数据源在内的高效的数据互相同步功能。

DataX 的设计思路是:

DataX 本身作为数据同步框架,将不同数据源的同步抽象为从数据源读取数据的 Reader 插件,以及向目标端写入数据的 Writer 插件,理论上 DataX 框架可以支持任意数据源类型的数据同步工作。同时 DataX 插件体系作为一套生态系统,每接入一套新数据源,就可以实现该数据源和现有数据源的互通。

基于该设计思路,我们的研发团队完成了 TDengine 的适配,实现了 TDengineReader 和 TDengineWriter 两个插件,并被 DataX 官方接受,合并到了其主干中。

TDengineReader 提供的功能包括:

  1. 支持通过 SQL 进行数据筛选;
  2. 根据时间间隔进行任务切分;
  3. 支持 TDengine 的全部数据类型;
  4. 支持批量读取,可以通过 batchSize 参数控制批量拉取结果集的大小,从而提高读取性能。

TDengineWriter 支持的功能包括:

  1. 支持 OpenTSDB 的 json 格式的行协议,可以使用 TDengine 的 Schemaless 方式写入 TDengine。
  2. 支持批量写入,可以通过 batchSize 参数控制批量写入的数量,从而提高写入性能。

目前 TDengine 已经加入 DataX 正式支持的数据库列表中。

::: hljs-center

1.png

:::
现在,如果用户要将历史 Database(比如 MySQL、OpenTSDB 等)中的数据迁移到 TDengine,或者将 TDengine 中的数据导出,就可以利用 DataX 来实现了。

更多使用细节,可以参考“基于 DataX 的 TDengine 数据迁移工具”一文。

基于 DataX 的 TDengineWriter 和 TDengineReader 的实现和最新动态,请关注:https://github.com/taosdata/DataX