DataX/tdenginereader/doc/tdenginereader.md
2021-10-26 16:09:39 +08:00

3.6 KiB
Raw Blame History

DataX TDengineReader

1 快速介绍

TDengineReader 插件实现了 TDengine 读取数据的功能。

2 实现原理

TDengineReader 通过TDengine的JDBC driver查询获取数据。

3 功能说明

3.1 配置样例

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "tdenginereader",
          "parameter": {
            "host": "192.168.1.82",
            "port": 6030,
            "db": "test",
            "user": "root",
            "password": "taosdata",
            "sql": "select * from weather",
            "beginDateTime": "2021-01-01 00:00:00",
            "endDateTime": "2021-01-02 00:00:00",
            "splitInterval": "1h"
          }
        },
        "writer": {
          "name": "streamwriter",
          "parameter": {
            "encoding": "UTF-8",
            "print": true
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 1
      }
    }
  }
}

3.2 参数说明

  • host
    • 描述TDengine实例的host。
    • 必选:是
    • 默认值:无
  • port
    • 描述TDengine实例的port。
    • 必选:是
    • 默认值:无
  • dbname
    • 描述:目的数据库的名称。
    • 必选:是
    • 默认值:无
  • username
    • 描述TDengine实例的用户名
    • 必选:是
    • 默认值:无
  • password
    • 描述TDengine实例的密码
    • 必选:是
    • 默认值:无
  • sql
    • 描述用来筛选迁移数据的sql
    • 必选:是
    • 默认值:无
  • beginDateTime
    • 描述TDengine实例的密码
    • 必选:是
    • 默认值:无
  • endDateTime
    • 描述:
    • 必选:是
    • 默认值:无
  • splitInterval
    • 描述按照splitInterval来划分task, 每splitInterval创建一个task
    • 必选:否
    • 默认值1h

3.3 类型转换

4 性能报告

4.1 环境准备

4.1.1 数据特征

建表语句:

单行记录类似于:

4.1.2 机器参数

  • 执行DataX的机器参数为:

    1. cpu:
    2. mem:
    3. net: 千兆双网卡
    4. disc: DataX 数据不落磁盘,不统计此项
  • TDengine数据库机器参数为:

    1. cpu:
    2. mem:
    3. net: 千兆双网卡
    4. disc:

4.1.3 DataX jvm 参数

-Xms1024m -Xmx1024m -XX:+HeapDumpOnOutOfMemoryError

4.2 测试报告

4.2.1 单表测试报告

通道数 DataX速度(Rec/s) DataX流量(MB/s) DataX机器网卡流出流量(MB/s) DataX机器运行负载 DB网卡进入流量(MB/s) DB运行负载 DB TPS
1
4
8
16
32

说明:

  1. 这里的单表,主键类型为 bigint(20),自增。
  2. batchSize 和 通道个数,对性能影响较大。

4.2.4 性能测试小结

5 约束限制

FAQ