# Ingest Data into TDengine

TDengine (opens new window)
TaosData(https://www.taosdata.com) Enables efficient, real-time data ingestion, processing and monitoring of TB and even PB scale data per day, generated by billions of sensors and data collectors. TDengine can be widely applied to IoT, Industrial Internet, Connected Vehicles, DevOps, Energy , Finance and many other use-cases.

Deploy TDengine by Huawei Cloud (opens new window) or Docker:

TIP

To use TDengine v3.x, please use EMQX v4.4.12 and later.

docker run --name TDengine -d -p 6030:6030 -p 6041:6041 -p 6043-6049:6043-6049 -p 6043-6049:6043-6049/udp tdengine/tdengine
Copied!
1

Execute cmd in docker:

docker exec -it TDengine bash
taos
Copied!
1
2

Create database test

create database test;
Copied!
1

Create table t_mqtt_msg. For more details on TDengine data structures and SQL, see TDengine SQL (opens new window):

USE test;
CREATE TABLE t_mqtt_msg (
  ts timestamp,
  msgid NCHAR(64),
  mqtt_topic NCHAR(255),
  qos TINYINT,
  payload BINARY(1024),
  arrived timestamp
);
Copied!
1
2
3
4
5
6
7
8
9

Create Rule:

Open EMQX Dashboard (opens new window). Click Rule.

Write SQL:

SELECT

  *,
  now_timestamp('millisecond')  as ts

FROM

  "#"
Copied!
1
2
3
4
5
6
7
8

image

The subsequent action creation operation can be selected flexibly depending on your EMQX version.

Add Action:

Find Action, click Add Action.

Click Data persist, Choice Data to TDengine.

Requires EMQX Enterprise 4.1.1 and later only.

Action parameters:

  1. SQL template. In this example we insert a data to TDengine, note that we should specify the database name in the SQL and the character type should be enclosed in single quotes, the SQL template:
insert into test.t_mqtt_msg(ts, msgid, mqtt_topic, qos, payload, arrived) values (${ts}, '${id}', '${topic}', ${qos}, '${payload}', ${timestamp})
Copied!
1
  1. Now that the resource drop-down box is empty, you can create a TDengine resource by clicking on Create in the upper right corner:

Create new TDengine Resource:
TDEngine Username: root
TDEngine password: taosdata

image

Click Confirm.

Return to the action screen and click "Confirm".

image

Return to the rule screen and click "Create".

Test:

In the rule list, click on the Rule ID link to preview the rule you just created.

image

The rule has been created, now send a data:

Topic: "t/a"
QoS: 1
Payload: {"msg": "hello"}
Copied!
1
2
3

Query and check:

select * from t_mqtt_msg;
Copied!
1

image

What’s on this page