当前位置: 首页 > news >正文

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

1. 编写InfluxDB数据查询语句

select  time as ts,device as tbname, ip,device as district_code from "L2_CS" limit 1000

2. 创建TDengine表

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文件

{
  "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自动创建子表,不同的设备会创建不同的表

{
  "name": "dx_replace",
  "parameter":
   {
     "columnIndex":2,
     "paras":["1","2","d50"]
   }
}

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

最后来一张生成的结果图

相关文章:

  • Qt QCustomPlot介绍
  • 基于SpringBoot的药房管理系统
  • springboot基于SpringBoot的冬奥会科普平台springboot21
  • 购物H5商城架构运维之路
  • 数据结构--单链表
  • 蓝桥杯 题库 简单 每日十题 day7
  • 计算机网络常见面试题
  • Vue watch实时计算器
  • 增强for循环和一般for循环的对比使用
  • 如何使用IP归属地查询API来追踪网络活动
  • 接口测试之文件上传
  • 防火墙基础
  • 认识一下Git
  • 【C刷题】day3
  • 堆栈的类型及特点
  • JS-转换为布尔值
  • IDS与防火墙的区别
  • Java深入理解线程的三大特性
  • 【C语言】通讯录
  • 十大排序算法的实现(C/C++)
  • 南阳市委副书记、政法委书记金浩任内落马
  • 伊朗艺术中的中国风
  • 梅德韦杰夫:如果欧盟和美国 “撒手不管”,俄罗斯会更快解决俄乌冲突
  • 王健林出售酒店管理业务的资金如获批,可用于向全体股东分红
  • 涉嫌在饭局后性侵一女子,湖南机场董事长邱继兴被警方刑拘
  • 第十个“中国航天日”活动将在沪举行:月球正面背面样品同框展出