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
最后来一张生成的结果图