使用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

最后来一张生成的结果图

相关推荐
藦卡机器人21 小时前
中国工业机器人发展现状
大数据·人工智能·机器人
Simon_lca1 天前
突破合规瓶颈:ZDHC Supplier to Zero(工厂零排放 - 进阶型)体系全攻略
大数据·网络·人工智能·分类·数据挖掘·数据分析·零售
黄焖鸡能干四碗1 天前
网络安全建设实施方案(Word文件参考下载)
大数据·网络·人工智能·安全·web安全·制造
云境筑桃源哇1 天前
马踏春风 为爱启航 | 瑞派宠物医院(南部新城旗舰店)盛大开业!打造宠物医疗新标杆!
大数据·宠物
xixixi777771 天前
2026 年 03 月 20 日 AI+通信+安全行业日报(来更新啦)
大数据·人工智能·安全·ai·大模型·通信
F36_9_1 天前
大数据治理平台选型避坑:2026 年 8 大主流系统实测
大数据·数据治理
成长之路5141 天前
【实证分析】A股上市公司企业劳动力需求数据集(2000-2023年)
大数据
奔跑的呱呱牛1 天前
GeoJSON 在大数据场景下为什么不够用?替代方案分析
java·大数据·servlet·gis·geojson
Lab_AI1 天前
电池材料行业数据管理新突破:AI4S驱动的科学数据平台正在重塑电池材料开发范式
大数据·人工智能·ai4s·电池材料开发·电池材料研发·电池材料创新·ai材料研发
FindAI发现力量1 天前
智能工牌:线下销售场景的数字化赋能解决方案
大数据·人工智能·销售管理·ai销售·ai销冠·销售智能体