DataX TSDBWriter


1 快速介绍

  • TSDBWriter插件实现了将数据点写入到阿里巴巴自研TSDB数据库中(后续简称 TSDB)。
  • 时间序列数据库(Time Series Database , 简称 TSDB)是一种高性能,低成本,稳定可靠的在线时序数据库服务;提供高效读写,高压缩比存储、时序数据插值及聚合计算,广泛应用于物联网(IoT)设备监控系统 ,企业能源管理系统(EMS),生产安全监控系统,电力检测系统等行业场景。 TSDB提供百万级时序数据秒级写入,高压缩比低成本存储、预降采样、插值、多维聚合计算,查询结果可视化功能;解决由于设备采集点数量巨大,数据采集频率高,造成的存储成本高,写入和查询分析效率低的问题。

2 实现原理

通过HTTP连接TSDB实例,并通过/api/put接口将数据点写入。关于写入接口详见TSDB的接口说明文档。

3 功能说明

3.1 OpenTSDB数据配置样例

本小节以OpenTSDB的数据为例,配置一个从OpenTSDB数据库同步抽取数据到TSDB:

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "opentsdbreader",
          "parameter": {
            "endpoint": "http://localhost:4242",
            "column": [
              "m"
            ],
            "startTime": "2019-01-01 00:00:00",
            "endTime": "2019-01-01 03:00:00"
          }
        },
        "writer": {
          "name": "tsdbhttpwriter",
          "parameter": {
            "endpoint": "http://localhost:8242"
          }
        }
      }
    ],
    "setting": {
      "speed": {
        "channel": 1
      }
    }
  }
}

3.2 参数说明

  • name
    • 描述:本插件的名称
    • 必选:是
    • 默认值:tsdbhttpwriter
  • parameter
    • endpoint
      • 描述:TSDB的HTTP连接地址
      • 必选:是
      • 格式:http://IP:Port
      • 默认值:无
  • batchSize
    • 描述:每次批量数据的条数
    • 必选:否
    • 格式:int,需要保证大于0
    • 默认值:100
  • maxRetryTime
    • 描述:失败后重试的次数
    • 必选:否
    • 格式:int,需要保证大于1
    • 默认值:3
  • ignoreWriteError
    • 描述:如果设置为true,则忽略写入错误,继续写入;否则,多次重试后仍写入失败的话,则会终止写入任务
    • 必选:否
    • 格式:bool
    • 默认值:false

3.3 类型转换

DataX内部类型

TSDB数据类型

string

TSDB数据点序列化字符串,包括timestamp、metric、tags和value

4 约束限制

4.1 目前只支持兼容 TSDB 2.4.x 及以上版本

其他版本暂不保证兼容。


评论区(0)

评论