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

最后来一张生成的结果图

相关推荐
ebok.10 小时前
国产大模型落地业务系统的优选载体:京微智枢信创 AI 业务支撑平台
大数据·人工智能·低代码·ai
民乐团扒谱机12 小时前
【微实验】组合优化matlab实战(马科维茨投资模型):在收益与风险之间,寻找最优的人生配比
大数据·人工智能·算法·机器学习·数学建模·matlab·组合优化
星野川崎20612 小时前
电商多店运维:云机长期挂机频繁掉线、账号无故风控原因剖析与解决方案
大数据·运维·云计算·电商
小柯南敲键盘12 小时前
电商图片翻译工具推荐,批量处理主图视频字幕,免费试用
大数据·人工智能·python·音视频
观远数据13 小时前
零售连锁BI选型清单:什么样的场景适合ChatBI,什么样的场景不适合
大数据·人工智能·零售
大大大大晴天13 小时前
实时数仓怎么建:基于 StarRocks 的分层设计与实践
大数据
roman_日积跬步-终至千里15 小时前
【计算资源节省与稳定性治理】自助查询系统请求幂等性设计
大数据
小玮看世界16 小时前
当“安全“变成“教训“:《拟人化暂行办法》时代,AI护栏的过度拒答之困与破局
大数据·人工智能
FserSuN17 小时前
回顾Spark的概念与应用
大数据·分布式·spark
一知半解仙17 小时前
大国博弈与机器人纪元:我们正站在怎样的历史拐点?
大数据·人工智能·机器人