使用datax将数据从InfluxDB抽取到TDengine过程记录

  1. 编写InfluxDB数据查询语句
sql 复制代码
select  time as ts,device as tbname, ip,device as district_code from "L2_CS" limit 1000
  1. 创建TDengine表
sql 复制代码
create database if not exists sensor;
create stable if not exists sensor.water(ts timestamp, ip varchar(50), device varchar(50)) 
tags(district_code nchar(12));

3, 编写datax配置json文件

html 复制代码
{
  "job": {
    "content": [
      {
        "reader": {
          "name": "influxdbreader",
          "parameter": {
            "column": [
              "*"
            ],
            "connection": [
              {
                "endpoint": "http://127.0.0.7:8086",
                "database": "DisasterCloudDB"
              }
            ],
            "querySql": "select time as ts,device as tbname, ip,device as district_code from \"L2_CS\" limit 1000",
            "connTimeout": 15,
            "readTimeout": 20,
            "writeTimeout": 20,
            "username": "monitor_ro",
            "password": "HGhcxCFkacxdmBeU"
          }
        },
        "writer": {
          "name": "tdengine30writer",
          "parameter": {
            "username": "jcyj",
            "password": "XquFvQoCM#I1sn6jc",
            "column": [
              "ts",
              "tbname",
              "ip",
              "district_code"
            ],
            "connection": [
              {
                "table": [
                  "water"
                ],
                "username": "jcyj",
                "password": "XquFvQoCM#I1sn6jc",
                "jdbcUrl": "jdbc:TAOS-RS://127.0.0.1:6041/jcyj?timestampFormat=TIMESTAMP"
              }
            ],
            "batchSize": 100,
            "ignoreTagsUnmatched": true
          }
        },
        "transformer": [
          {
            "name": "dx_replace",
            "parameter":
            {
              "columnIndex":2,
              "paras":["1","2","d50"]
            }
          }
        ]
      }
    ],
    "setting": {
      "speed": {
        "channel": 1
      }
    }
  }
}

增加 device as tbname 后,会根据设备id自动创建子表,不同的设备会创建不同的表

html 复制代码
{
  "name": "dx_replace",
  "parameter":
   {
     "columnIndex":2,
     "paras":["1","2","d50"]
   }
}

使用 dx_replace 插件处理设备id全是数字,建表之后不能查看问题,这里替换前两个字符 增加字母d

最后来一张生成的结果图

相关推荐
Mephisto.java2 小时前
【大数据学习 | Spark-Core】广播变量和累加器
大数据·学习·spark
Mephisto.java2 小时前
【大数据学习 | Spark-Core】详解分区个数
大数据·sql·oracle·spark·json·database
zmd-zk3 小时前
flink学习(6)——自定义source和kafka
大数据·hadoop·学习·flink·kafka·实时
java1234_小锋3 小时前
详细描述一下Elasticsearch搜索的过程?
大数据·elasticsearch·jenkins
NewsMash3 小时前
平安养老险20年:专业书写“养老金融”答卷
大数据·人工智能
samLi06205 小时前
【工具变量】中国省市社会信用体系建设名单匹配数据(省级及地级市城市)2010-2024年
大数据
魅美6 小时前
大数据技术之SparkCore
大数据·spark
gma9997 小时前
ES 基本使用与二次封装
大数据·数据库·c++·elasticsearch·搜索引擎
shuxunAPI7 小时前
营业执照 OCR 识别 API 的应用前景
大数据·云计算·ocr·csdn开发云
zxn09118 小时前
大数据实战之搭建Linux虚拟机
大数据·linux