diff --git a/docs/zh/10-third-party/01-collection/02-prometheus.md b/docs/zh/10-third-party/01-collection/02-prometheus.md
index 33cf85dcd0..19d7b9b3cc 100644
--- a/docs/zh/10-third-party/01-collection/02-prometheus.md
+++ b/docs/zh/10-third-party/01-collection/02-prometheus.md
@@ -6,7 +6,7 @@ description: 使用 Prometheus 访问 TDengine
import Prometheus from "../../14-reference//01-components/_prometheus.mdx"
-Prometheus 是一款流行的开源监控告警系统。Prometheus 于2016年加入了 Cloud Native Computing Foundation (云原生云计算基金会,简称 CNCF),成为继 Kubernetes 之后的第二个托管项目,该项目拥有非常活跃的开发人员和用户社区。
+Prometheus 是一款流行的开源监控告警系统。Prometheus 于 2016 年加入了 Cloud Native Computing Foundation (云原生云计算基金会,简称 CNCF),成为继 Kubernetes 之后的第二个托管项目,该项目拥有非常活跃的开发人员和用户社区。
Prometheus 提供了 `remote_write` 和 `remote_read` 接口来利用其它数据库产品作为它的存储引擎。为了让 Prometheus 生态圈的用户能够利用 TDengine 的高效写入和查询,TDengine 也提供了对这两个接口的支持。
@@ -17,7 +17,7 @@ Prometheus 提供了 `remote_write` 和 `remote_read` 接口来利用其它数
要将 Prometheus 数据写入 TDengine 需要以下几方面的准备工作。
- TDengine 集群已经部署并正常运行
- taosAdapter 已经安装并正常运行。具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)
-- Prometheus 已经安装。安装 Prometheus 请参考[官方文档](https://prometheus.io/docs/prometheus/latest/installation/)
+- Prometheus 已经安装。安装 Prometheus 请参考 [官方文档](https://prometheus.io/docs/prometheus/latest/installation/)
## 配置步骤
diff --git a/docs/zh/10-third-party/01-collection/03-telegraf.md b/docs/zh/10-third-party/01-collection/03-telegraf.md
index 4f03595105..0be04d71c5 100644
--- a/docs/zh/10-third-party/01-collection/03-telegraf.md
+++ b/docs/zh/10-third-party/01-collection/03-telegraf.md
@@ -15,8 +15,8 @@ Telegraf 是一款十分流行的指标采集开源软件。在数据采集和
要将 Telegraf 数据写入 TDengine 需要以下几方面的准备工作。
- TDengine 集群已经部署并正常运行
- taosAdapter 已经安装并正常运行。具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)
-- Telegraf 已经安装。安装 Telegraf 请参考[官方文档](https://docs.influxdata.com/telegraf/v1.22/install/)
-- Telegraf 默认采集系统运行状态数据。通过使能[输入插件](https://docs.influxdata.com/telegraf/v1.22/plugins/)方式可以输出[其他格式](https://docs.influxdata.com/telegraf/v1.24/data_formats/input/)的数据到 Telegraf 再写入到 TDengine中。
+- Telegraf 已经安装。安装 Telegraf 请参考 [官方文档](https://docs.influxdata.com/telegraf/v1.22/install/)
+- Telegraf 默认采集系统运行状态数据。通过使能 [输入插件](https://docs.influxdata.com/telegraf/v1.22/plugins/)方式可以输出 [其他格式](https://docs.influxdata.com/telegraf/v1.24/data_formats/input/) 的数据到 Telegraf 再写入到 TDengine中。
## 配置步骤
diff --git a/docs/zh/10-third-party/01-collection/05-collectd.md b/docs/zh/10-third-party/01-collection/05-collectd.md
index 9d269af6c6..2bdae2cbb2 100644
--- a/docs/zh/10-third-party/01-collection/05-collectd.md
+++ b/docs/zh/10-third-party/01-collection/05-collectd.md
@@ -14,7 +14,7 @@ collectd 是一个用来收集系统性能的守护进程。collectd 提供各
要将 collectd 数据写入 TDengine,需要几方面的准备工作。
- TDengine 集群已经部署并正常运行
-- taosAdapter 已经安装并正常运行,具体细节请参考[ taosAdapter 的使用手册](../../../reference/components/taosadapter)
+- taosAdapter 已经安装并正常运行,具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)
- collectd 已经安装。安装 collectd 请参考[官方文档](https://collectd.org/download.shtml)
## 配置步骤
diff --git a/docs/zh/10-third-party/01-collection/06-statsd.md b/docs/zh/10-third-party/01-collection/06-statsd.md
index a76a9e3f20..d36d4981fd 100644
--- a/docs/zh/10-third-party/01-collection/06-statsd.md
+++ b/docs/zh/10-third-party/01-collection/06-statsd.md
@@ -15,7 +15,7 @@ StatsD 是汇总和总结应用指标的一个简单的守护进程,近些年
要将 StatsD 数据写入 TDengine 需要以下几方面的准备工作。
- TDengine 集群已经部署并正常运行
- taosAdapter 已经安装并正常运行。具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)
-- StatsD 已经安装。安装 StatsD 请参考[官方文档](https://github.com/statsd/statsd)
+- StatsD 已经安装。安装 StatsD 请参考 [官方文档](https://github.com/statsd/statsd)
## 配置步骤
diff --git a/docs/zh/10-third-party/01-collection/07-icinga2.md b/docs/zh/10-third-party/01-collection/07-icinga2.md
index 716397f2e6..e481a37c83 100644
--- a/docs/zh/10-third-party/01-collection/07-icinga2.md
+++ b/docs/zh/10-third-party/01-collection/07-icinga2.md
@@ -14,8 +14,8 @@ icinga2 是一款开源主机、网络监控软件,最初由 Nagios 网络监
要将 icinga2 数据写入 TDengine 需要以下几方面的准备工作。
- TDengine 集群已经部署并正常运行
-- taosAdapter 已经安装并正常运行。具体细节请参考[ taosAdapter 的使用手册](../../../reference/components/taosadapter)
-- icinga2 已经安装。安装 icinga2 请参考[官方文档](https://icinga.com/docs/icinga-2/latest/doc/02-installation/)
+- taosAdapter 已经安装并正常运行。具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)
+- icinga2 已经安装。安装 icinga2 请参考 [官方文档](https://icinga.com/docs/icinga-2/latest/doc/02-installation/)
## 配置步骤
diff --git a/docs/zh/10-third-party/01-collection/08-tcollector.md b/docs/zh/10-third-party/01-collection/08-tcollector.md
index 57f31204bf..e1c25cb590 100644
--- a/docs/zh/10-third-party/01-collection/08-tcollector.md
+++ b/docs/zh/10-third-party/01-collection/08-tcollector.md
@@ -15,7 +15,7 @@ TCollector 是 openTSDB 的一部分,它用来采集客户端日志发送给
要将 TCollector 数据写入 TDengine 需要以下几方面的准备工作。
- TDengine 集群已经部署并正常运行
- taosAdapter 已经安装并正常运行。具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)
-- TCollector 已经安装。安装 TCollector 请参考[官方文档](http://opentsdb.net/docs/build/html/user_guide/utilities/tcollector.html#installation-of-tcollector)
+- TCollector 已经安装。安装 TCollector 请参考 [官方文档](http://opentsdb.net/docs/build/html/user_guide/utilities/tcollector.html#installation-of-tcollector)
## 配置步骤
diff --git a/docs/zh/10-third-party/01-collection/09-emq-broker.md b/docs/zh/10-third-party/01-collection/09-emq-broker.md
index 3d920345c1..f9ad3ba01a 100644
--- a/docs/zh/10-third-party/01-collection/09-emq-broker.md
+++ b/docs/zh/10-third-party/01-collection/09-emq-broker.md
@@ -4,7 +4,7 @@ title: EMQX Broker 写入
description: 使用 EMQX Broker 写入 TDengine
---
-MQTT 是流行的物联网数据传输协议,[EMQX](https://github.com/emqx/emqx)是一开源的 MQTT Broker 软件,无需任何代码,只需要在 EMQX Dashboard 里使用“规则”做简单配置,即可将 MQTT 的数据直接写入 TDengine。EMQX 支持通过 发送到 Web 服务的方式保存数据到 TDengine,也在企业版上提供原生的 TDengine 驱动实现直接保存。
+MQTT 是流行的物联网数据传输协议,[EMQX](https://github.com/emqx/emqx) 是一开源的 MQTT Broker 软件,无需任何代码,只需要在 EMQX Dashboard 里使用“规则”做简单配置,即可将 MQTT 的数据直接写入 TDengine。EMQX 支持通过 发送到 Web 服务的方式保存数据到 TDengine,也在企业版上提供原生的 TDengine 驱动实现直接保存。
## 前置条件
@@ -30,7 +30,7 @@ USE test;
CREATE TABLE sensor_data (ts TIMESTAMP, temperature FLOAT, humidity FLOAT, volume FLOAT, pm10 FLOAT, pm25 FLOAT, so2 FLOAT, no2 FLOAT, co FLOAT, sensor_id NCHAR(255), area TINYINT, coll_time TIMESTAMP);
```
-注:表结构以博客[数据传输、存储、展现,EMQX + TDengine 搭建 MQTT 物联网数据可视化平台](https://www.taosdata.com/blog/2020/08/04/1722.html)为例。后续操作均以此博客场景为例进行,请你根据实际应用场景进行修改。
+注:表结构以博客 [数据传输、存储、展现,EMQX + TDengine 搭建 MQTT 物联网数据可视化平台](https://www.taosdata.com/blog/2020/08/04/1722.html) 为例。后续操作均以此博客场景为例进行,请你根据实际应用场景进行修改。
## 配置 EMQX 规则
@@ -59,7 +59,7 @@ FROM
"sensor/data"
```
-其中 `payload` 代表整个消息体, `sensor/data` 为本规则选取的消息主题。
+其中 `payload` 代表整个消息体,`sensor/data` 为本规则选取的消息主题。

@@ -75,7 +75,7 @@ FROM
### 编辑“资源(Resource)”
-选择“WebHook”并填写“请求 URL”为 taosAdapter 提供 REST 服务的地址,如果是本地启动的 taosadapter, 那么默认地址为:
+选择 “WebHook” 并填写“请求 URL”为 taosAdapter 提供 REST 服务的地址,如果是本地启动的 taosadapter, 那么默认地址为:
```
http://127.0.0.1:6041/rest/sql
diff --git a/docs/zh/10-third-party/01-collection/11-kafka.md b/docs/zh/10-third-party/01-collection/11-kafka.md
index 5113519e50..e913d199b3 100644
--- a/docs/zh/10-third-party/01-collection/11-kafka.md
+++ b/docs/zh/10-third-party/01-collection/11-kafka.md
@@ -4,7 +4,7 @@ title: TDengine Kafka Connector
description: 使用 TDengine Kafka Connector 的详细指南
---
-TDengine Kafka Connector 包含两个插件: TDengine Source Connector 和 TDengine Sink Connector。用户只需提供简单的配置文件,就可以将 Kafka 中指定 topic 的数据(批量或实时)同步到 TDengine, 或将 TDengine 中指定数据库的数据(批量或实时)同步到 Kafka。
+TDengine Kafka Connector 包含 TDengine Source Connector 和 TDengine Sink Connector 两个插件。用户只需提供简单的配置文件,就可以将 Kafka 中指定 topic 的数据(批量或实时)同步到 TDengine,或将 TDengine 中指定数据库的数据(批量或实时)同步到 Kafka。
## 什么是 Kafka Connect?
@@ -23,7 +23,7 @@ TDengine Source Connector 用于把数据实时地从 TDengine 读出来发送
1. Linux 操作系统
2. 已安装 Java 8 和 Maven
3. 已安装 Git、curl、vi
-4. 已安装并启动 TDengine。如果还没有可参考[安装和卸载](../../../get-started/)
+4. 已安装并启动 TDengine。如果还没有可参考 [安装和卸载](../../../get-started/)
## 安装 Kafka
@@ -90,9 +90,9 @@ curl http://localhost:8083/connectors
## TDengine Sink Connector 的使用
-TDengine Sink Connector 的作用是同步指定 topic 的数据到 TDengine。用户无需提前创建数据库和超级表。可手动指定目标数据库的名字(见配置参数 connection.database), 也可按一定规则生成(见配置参数 connection.database.prefix)。
+TDengine Sink Connector 的作用是同步指定 topic 的数据到 TDengine。用户无需提前创建数据库和超级表。可手动指定目标数据库的名字(见配置参数 connection.database),也可按一定规则生成(见配置参数 connection.database.prefix)。
-TDengine Sink Connector 内部使用 TDengine [无模式写入接口](../../../develop/schemaless)写数据到 TDengine,目前支持三种格式的数据:InfluxDB 行协议格式,OpenTSDB Telnet 协议格式,和 OpenTSDB JSON 协议格式。
+TDengine Sink Connector 内部使用 TDengine [无模式写入接口](../../../develop/schemaless) 写数据到 TDengine,目前支持三种格式的数据:InfluxDB 行协议格式,OpenTSDB Telnet 协议格式,和 OpenTSDB JSON 协议格式。
下面的示例将主题 meters 的数据,同步到目标数据库 power。数据格式为 InfluxDB Line 协议格式。
@@ -205,7 +205,7 @@ taos> select * from meters;
Query OK, 4 row(s) in set (0.004208s)
```
-若看到了以上数据,则说明同步成功。若没有,请检查 Kafka Connect 的日志。配置参数的详细说明见[配置参考](#配置参考)。
+若看到了以上数据,则说明同步成功。若没有,请检查 Kafka Connect 的日志。配置参数的详细说明见 [配置参考](#配置参考)。
## TDengine Source Connector 的使用
@@ -284,7 +284,7 @@ curl -X POST -d @source-demo.json http://localhost:8083/connectors -H "Content-T
### 查看 topic 数据
-使用 kafka-console-consumer 命令行工具监控主题 tdengine-test-meters 中的数据。一开始会输出所有历史数据, 往 TDengine 插入两条新的数据之后,kafka-console-consumer 也立即输出了新增的两条数据。 输出数据 InfluxDB line protocol 的格式。
+使用 kafka-console-consumer 命令行工具监控主题 tdengine-test-meters 中的数据。一开始会输出所有历史数据,往 TDengine 插入两条新的数据之后,kafka-console-consumer 也立即输出了新增的两条数据。输出数据 InfluxDB line protocol 的格式。
```shell
kafka-console-consumer.sh --bootstrap-server localhost:9092 --from-beginning --topic tdengine-test-meters
@@ -299,7 +299,7 @@ meters,location="California.SanFrancisco",groupid=2i32 current=12.6f32,voltage=2
......
```
-此时会显示所有历史数据。切换到 TDengine CLI, 插入两条新的数据:
+此时会显示所有历史数据。切换到 TDengine CLI,插入两条新的数据:
```sql
USE test;
@@ -307,7 +307,7 @@ INSERT INTO d1001 VALUES (now, 13.3, 229, 0.38);
INSERT INTO d1002 VALUES (now, 16.3, 233, 0.22);
```
-再切换回 kafka-console-consumer, 此时命令行窗口已经打印出刚插入的 2 条数据。
+再切换回 kafka-console-consumer,此时命令行窗口已经打印出刚插入的 2 条数据。
### unload 插件
@@ -335,7 +335,7 @@ curl -X DELETE http://localhost:8083/connectors/TDengineSourceConnector
| **参数** | **参数说明** | **设置建议** |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------ |
| producer.type | 此参数用于设置消息的发送方式,默认值为 `sync` 表示同步发送,`async` 表示异步发送。采用异步发送能够提升消息发送的吞吐量。 | async |
- | request.required.acks | 参数用于配置生产者发送消息后需要等待的确认数量。当设置为1时,表示只要领导者副本成功写入消息就会给生产者发送确认,而无需等待集群中的其他副本写入成功。这种设置可以在一定程度上保证消息的可靠性,同时也能保证一定的吞吐量。因为不需要等待所有副本都写入成功,所以可以减少生产者的等待时间,提高发送消息的效率。 | 1 |
+ | request.required.acks | 参数用于配置生产者发送消息后需要等待的确认数量。当设置为 1 时,表示只要领导者副本成功写入消息就会给生产者发送确认,而无需等待集群中的其他副本写入成功。这种设置可以在一定程度上保证消息的可靠性,同时也能保证一定的吞吐量。因为不需要等待所有副本都写入成功,所以可以减少生产者的等待时间,提高发送消息的效率。 | 1 |
| max.request.size | 该参数决定了生产者在一次请求中可以发送的最大数据量。其默认值为 1048576,也就是 1M。如果设置得太小,可能会导致频繁的网络请求,降低吞吐量。如果设置得太大,可能会导致内存占用过高,或者在网络状况不佳时增加请求失败的概率。建议设置为 100M。 | 104857600 |
| batch.size | 此参数用于设定 batch 的大小,默认值为 16384,即 16KB。在消息发送过程中,发送到 Kafka 缓冲区中的消息会被划分成一个个的 batch。故而减小 batch 大小有助于降低消息延迟,而增大 batch 大小则有利于提升吞吐量,可根据实际的数据量大小进行合理配置。可根据实际情况进行调整,建议设置为 512K。 | 524288 |
| buffer.memory | 此参数用于设置生产者缓冲待发送消息的内存总量。较大的缓冲区可以允许生产者积累更多的消息后批量发送,提高吞吐量,但也会增加延迟和内存使用。可根据机器资源来配置,建议配置为 1G。 | 1073741824 |
@@ -346,51 +346,51 @@ curl -X DELETE http://localhost:8083/connectors/TDengineSourceConnector
以下配置项对 TDengine Sink Connector 和 TDengine Source Connector 均适用。
-1. `name`: connector 名称。
-1. `connector.class`: connector 的完整类名, 如: com.taosdata.kafka.connect.sink.TDengineSinkConnector。
-1. `tasks.max`: 最大任务数, 默认 1。
-1. `topics`: 需要同步的 topic 列表, 多个用逗号分隔, 如 `topic1,topic2`。
-1. `connection.url`: TDengine JDBC 连接字符串, 如 `jdbc:TAOS://127.0.0.1:6030`。
-1. `connection.user`: TDengine 用户名, 默认 root。
-1. `connection.password` :TDengine 用户密码, 默认 taosdata。
-1. `connection.attempts` :最大尝试连接次数。默认 3。
-1. `connection.backoff.ms` : 创建连接失败重试时间隔时间,单位为 ms。 默认 5000。
-1. `data.precision`: 使用 InfluxDB 行协议格式时,时间戳的精度。可选值为:
- 1. ms : 表示毫秒
- 1. us : 表示微秒
- 1. ns : 表示纳秒
+1. `name`:connector 名称。
+1. `connector.class`:connector 的完整类名,例如如 com.taosdata.kafka.connect.sink.TDengineSinkConnector。
+1. `tasks.max`:最大任务数, 默认 1。
+1. `topics`:需要同步的 topic 列表,多个用逗号分隔, 如 `topic1,topic2`。
+1. `connection.url`:TDengine JDBC 连接字符串,如 `jdbc:TAOS://127.0.0.1:6030`。
+1. `connection.user`:TDengine 用户名,默认 root。
+1. `connection.password`:TDengine 用户密码,默认 taosdata。
+1. `connection.attempts`:最大尝试连接次数。默认 3。
+1. `connection.backoff.ms`:创建连接失败重试时间隔时间,单位为 ms。默认 5000。
+1. `data.precision`:使用 InfluxDB 行协议格式时,时间戳的精度。可选值为:
+ 1. ms:表示毫秒
+ 1. us:表示微秒
+ 1. ns:表示纳秒
### TDengine Sink Connector 特有的配置
-1. `connection.database`: 目标数据库名。如果指定的数据库不存在会则自动创建。自动建库使用的时间精度为纳秒。默认值为 null。为 null 时目标数据库命名规则参考 `connection.database.prefix` 参数的说明
-2. `connection.database.prefix`: 当 connection.database 为 null 时, 目标数据库的前缀。可以包含占位符 '$\{topic}'。 比如 kafka_$\{topic}, 对于主题 'orders' 将写入数据库 'kafka_orders'。 默认 null。当为 null 时,目标数据库的名字和主题的名字是一致的。
-3. `batch.size`: 分批写入每批记录数。当 Sink Connector 一次接收到的数据大于这个值时将分批写入。
-4. `max.retries`: 发生错误时的最大重试次数。默认为 1。
-5. `retry.backoff.ms`: 发送错误时重试的时间间隔。单位毫秒,默认为 3000。
-6. `db.schemaless`: 数据格式,可选值为:
- 1. line :代表 InfluxDB 行协议格式
- 2. json : 代表 OpenTSDB JSON 格式
- 3. telnet :代表 OpenTSDB Telnet 行协议格式
+1. `connection.database`:目标数据库名。如果指定的数据库不存在会则自动创建。自动建库使用的时间精度为纳秒。默认值为 null。为 null 时目标数据库命名规则参考 `connection.database.prefix` 参数的说明
+2. `connection.database.prefix`:当 connection.database 为 null 时, 目标数据库的前缀。可以包含占位符 '$\{topic}'。比如 kafka_$\{topic}, 对于主题 'orders' 将写入数据库 'kafka_orders'。默认 null。当为 null 时,目标数据库的名字和主题的名字是一致的。
+3. `batch.size`:分批写入每批记录数。当 Sink Connector 一次接收到的数据大于这个值时将分批写入。
+4. `max.retries`:发生错误时的最大重试次数。默认为 1。
+5. `retry.backoff.ms`:发送错误时重试的时间间隔。单位毫秒,默认为 3000。
+6. `db.schemaless`:数据格式,可选值为:
+ 1. line:代表 InfluxDB 行协议格式
+ 2. json:代表 OpenTSDB JSON 格式
+ 3. telnet:代表 OpenTSDB Telnet 行协议格式
### TDengine Source Connector 特有的配置
-1. `connection.database`: 源数据库名称,无缺省值。
-1. `topic.prefix`: 数据导入 kafka 时使用的 topic 名称的前缀。默认为空字符串 ""。
-1. `timestamp.initial`: 数据同步起始时间。格式为'yyyy-MM-dd HH:mm:ss',若未指定则从指定 DB 中最早的一条记录开始。
-1. `poll.interval.ms`: 检查是否有新建或删除的表的时间间隔,单位为 ms。默认为 1000。
-1. `fetch.max.rows` : 检索数据库时最大检索条数。 默认为 100。
-1. `query.interval.ms`: 从 TDengine 一次读取数据的时间跨度,需要根据表中的数据特征合理配置,避免一次查询的数据量过大或过小;在具体的环境中建议通过测试设置一个较优值,默认值为 0,即获取到当前最新时间的所有数据。
-1. `out.format` : 结果集输出格式。`line` 表示输出格式为 InfluxDB Line 协议格式,`json` 表示输出格式是 json。默认为 line。
-1. `topic.per.stable`: 如果设置为 true,表示一个超级表对应一个 Kafka topic,topic的命名规则 ``;如果设置为 false,则指定的 DB 中的所有数据进入一个 Kafka topic,topic 的命名规则为 ``
-1. `topic.ignore.db`: topic 命名规则是否包含 database 名称,true 表示规则为 ``,false 表示规则为 ``,默认 false。此配置项在 `topic.per.stable` 设置为 false 时不生效。
-1. `topic.delimiter`: topic 名称分割符,默认为 `-`。
-1. `read.method`: 从 TDengine 读取数据方式,query 或是 subscription。默认为 subscription。
-1. `subscription.group.id`: 指定 TDengine 数据订阅的组 id,当 `read.method` 为 subscription 时,此项为必填项。
-1. `subscription.from`: 指定 TDengine 数据订阅起始位置,latest 或是 earliest。默认为 latest。
+1. `connection.database`:源数据库名称,无缺省值。
+1. `topic.prefix`:数据导入 kafka 时使用的 topic 名称的前缀。默认为空字符串 ""。
+1. `timestamp.initial`:数据同步起始时间。格式为'yyyy-MM-dd HH:mm:ss',若未指定则从指定 DB 中最早的一条记录开始。
+1. `poll.interval.ms`:检查是否有新建或删除的表的时间间隔,单位为 ms。默认为 1000。
+1. `fetch.max.rows`:检索数据库时最大检索条数。默认为 100。
+1. `query.interval.ms`:从 TDengine 一次读取数据的时间跨度,需要根据表中的数据特征合理配置,避免一次查询的数据量过大或过小;在具体的环境中建议通过测试设置一个较优值,默认值为 0,即获取到当前最新时间的所有数据。
+1. `out.format`:结果集输出格式。`line` 表示输出格式为 InfluxDB Line 协议格式,`json` 表示输出格式是 json。默认为 line。
+1. `topic.per.stable`:如果设置为 true,表示一个超级表对应一个 Kafka topic,topic的命名规则 ``;如果设置为 false,则指定的 DB 中的所有数据进入一个 Kafka topic,topic 的命名规则为 ``
+1. `topic.ignore.db`:topic 命名规则是否包含 database 名称,true 表示规则为 ``,false 表示规则为 ``,默认 false。此配置项在 `topic.per.stable` 设置为 false 时不生效。
+1. `topic.delimiter`:topic 名称分割符,默认为 `-`。
+1. `read.method`:从 TDengine 读取数据方式,query 或是 subscription。默认为 subscription。
+1. `subscription.group.id`:指定 TDengine 数据订阅的组 id,当 `read.method` 为 subscription 时,此项为必填项。
+1. `subscription.from`:指定 TDengine 数据订阅起始位置,latest 或是 earliest。默认为 latest。
## 其他说明
-1. 关于如何在独立安装的 Kafka 环境使用 Kafka Connect 插件, 请参考官方文档:[https://kafka.apache.org/documentation/#connect](https://kafka.apache.org/documentation/#connect)。
+1. 关于如何在独立安装的 Kafka 环境使用 Kafka Connect 插件,请参考官方文档:[https://kafka.apache.org/documentation/#connect](https://kafka.apache.org/documentation/#connect)。
## 问题反馈
diff --git a/docs/zh/10-third-party/01-collection/12-flink.md b/docs/zh/10-third-party/01-collection/12-flink.md
index 054d7288a5..7bf25405cc 100644
--- a/docs/zh/10-third-party/01-collection/12-flink.md
+++ b/docs/zh/10-third-party/01-collection/12-flink.md
@@ -222,7 +222,7 @@ Properties 中配置参数如下:
- TDengineCdcParams.VALUE_DESERIALIZER:结果集反序列化方法,如果接收结果集类型是 `Flink` 的 `RowData`,仅需要设置为 `RowData`即可。可以继承 `com.taosdata.jdbc.tmq.ReferenceDeserializer`,并指定结果集 bean,实现反序列化。
- TDengineCdcParams.TMQ_BATCH_MODE:此参数用于批量将数据推送给下游算子,如果设置为 True,创建 `TDengineCdcSource` 对象时需要指定数据类型为 `ConsumerRecords` 类型的泛型形式。
- TDengineCdcParams.GROUP_ID:消费组 ID,同一消费组共享消费进度。最大长度:192。
-- TDengineCdcParams.AUTO_OFFSET_RESET: 消费组订阅的初始位置 ( `earliest` 从头开始订阅, `latest` 仅从最新数据开始订阅, 默认 `latest`)。
+- TDengineCdcParams.AUTO_OFFSET_RESET:消费组订阅的初始位置( `earliest` 从头开始订阅, `latest` 仅从最新数据开始订阅, 默认 `latest`)。
- TDengineCdcParams.ENABLE_AUTO_COMMIT:是否启用消费位点自动提交,true: 自动提交;false:依赖 `checkpoint` 时间来提交, 默认 false。
> **注意**:自动提交模式reader获取完成数据后自动提交,不管下游算子是否正确的处理了数据,存在数据丢失的风险,主要用于为了追求高效的无状态算子场景或是数据一致性要求不高的场景。
@@ -232,7 +232,7 @@ Properties 中配置参数如下:
- TDengineConfigParams.PROPERTY_KEY_RECONNECT_INTERVAL_MS:自动重连重试间隔,单位毫秒,默认值 2000。仅在 `PROPERTY_KEY_ENABLE_AUTO_RECONNECT` 为 true 时生效。
- TDengineConfigParams.PROPERTY_KEY_RECONNECT_RETRY_COUNT:自动重连重试次数,默认值 3,仅在 `PROPERTY_KEY_ENABLE_AUTO_RECONNECT` 为 true 时生效。
- TDengineCdcParams.TMQ_SESSION_TIMEOUT_MS:`consumer` 心跳丢失后超时时间,超时后会触发 `rebalance` 逻辑,成功后该 `consumer` 会被删除(从3.3.3.0版本开始支持), 默认值为 12000,取值范围 [6000, 1800000]。
-- TDengineCdcParams.TMQ_MAX_POLL_INTERVAL_MS:`consumer poll` 拉取数据间隔的最长时间,超过该时间,会认为该 `consumer` 离线,触发 `rebalance` 逻辑,成功后该 `consumer` 会被删除。 默认值为 300000,[1000,INT32_MAX]。
+- TDengineCdcParams.TMQ_MAX_POLL_INTERVAL_MS:`consumer poll` 拉取数据间隔的最长时间,超过该时间,会认为该 `consumer` 离线,触发 `rebalance` 逻辑,成功后该 `consumer` 会被删除。默认值为 300000,[1000,INT32_MAX]。
#### 使用 CDC 连接器
@@ -279,9 +279,9 @@ Properties 中配置参数如下:
- TDengineConfigParams.TD_SUPERTABLE_NAME:写入的超级表名称。接收的数据必须有 tbname 字段,确定写入那张子表。
- TDengineConfigParams.TD_TABLE_NAME:写入子表或普通表的表名,此参数和TD_SUPERTABLE_NAME 仅需要设置一个即可。
- TDengineConfigParams.VALUE_DESERIALIZER:接收结果集反序列化方法, 如果接收结果集类型是 `Flink` 的 `RowData`,仅需要设置为 `RowData`即可。也可继承 `TDengineSinkRecordSerializer` 并实现 `serialize` 方法,根据 接收的数据类型自定义反序列化方式。
-- TDengineConfigParams.TD_BATCH_SIZE:设置一次写入 `TDengine` 数据库的批大小 | 当到达批的数量后进行写入,或是一个checkpoint的时间也会触发写入数据库。
+- TDengineConfigParams.TD_BATCH_SIZE:设置一次写入 `TDengine` 数据库的批大小 | 当到达批的数量后进行写入,或是一个checkpoint的时间也会触发写入数据库。
- TDengineConfigParams.TD_BATCH_MODE:接收批量数据当设置为 True 时,如果数据来源是 `TDengine Source`,则使用 `SourceRecords` 泛型类型来创建 `TDengineSink` 对象;若来源是 `TDengine CDC`,则使用 `ConsumerRecords` 泛型来创建 `TDengineSink` 对象。
-- TDengineConfigParams.TD_SOURCE_TYPE:设置数据来源。 当数据来源是 `TDengine Source` 是设置为 'tdengine_source', 当来源是 `TDengine CDC` 设置为 'tdengine_cdc'。当配置 `TD_BATCH_MODE` 为 True 生效。
+- TDengineConfigParams.TD_SOURCE_TYPE:设置数据来源。当数据来源是 `TDengine Source` 是设置为 'tdengine_source', 当来源是 `TDengine CDC` 设置为 'tdengine_cdc'。当配置 `TD_BATCH_MODE` 为 True 生效。
- TDengineConfigParams.PROPERTY_KEY_MESSAGE_WAIT_TIMEOUT: 消息超时时间, 单位 ms, 默认值为 60000。
- TDengineConfigParams.PROPERTY_KEY_ENABLE_COMPRESSION: 传输过程是否启用压缩。true: 启用,false: 不启用。默认为 false。
- TDengineConfigParams.PROPERTY_KEY_ENABLE_AUTO_RECONNECT: 是否启用自动重连。true: 启用,false: 不启用。默认为 false。
@@ -355,7 +355,7 @@ Properties 中配置参数如下:
| bootstrap.servers| string | 服务器地址。|
| topic | string | 订阅主题。||
| td.jdbc.mode | strng | 连接器类型, cdc, sink。|
-| group.id| string| 消费组 ID,同一消费组共享消费进度。 |
+| group.id| string| 消费组 ID,同一消费组共享消费进度。|
| auto.offset.reset| string| 消费组订阅的初始位置。
`earliest`: 从头开始订阅
`latest`: 仅从最新数据开始订阅。
默认 `latest`。|
| poll.interval_ms| integer| 拉取数据间隔, 默认 500ms。|
| sink.db.name|string| 目标数据库名称。|
diff --git a/docs/zh/10-third-party/03-visual/01-grafana.mdx b/docs/zh/10-third-party/03-visual/01-grafana.mdx
index 043cfcaa5c..38c47672b8 100644
--- a/docs/zh/10-third-party/03-visual/01-grafana.mdx
+++ b/docs/zh/10-third-party/03-visual/01-grafana.mdx
@@ -32,7 +32,7 @@ import TabItem from "@theme/TabItem";
使用 Grafana 最新版本(8.5+),您可以在 Grafana 中[浏览和管理插件](https://grafana.com/docs/grafana/next/administration/plugin-management/#plugin-catalog)(对于 7.x 版本,请采用 **安装脚本** 或 **手动安装** 方式)。在 Grafana 管理界面中的 **Configurations > Plugins** 页面直接搜索 `TDengine` 并按照提示安装。
安装完毕后,按照指示 **Create a TDengine data source** 添加数据源,输入 TDengine 相关配置:
-- Host: TDengine 集群中提供 REST 服务的 IP 地址与端口号,默认 `http://localhost:6041`
+- Host:TDengine 集群中提供 REST 服务的 IP 地址与端口号,默认 `http://localhost:6041`
- User:TDengine 用户名。
- Password:TDengine 用户密码。
@@ -58,7 +58,7 @@ bash -c "$(curl -fsSL \
-使用 [`grafana-cli` 命令行工具](https://grafana.com/docs/grafana/latest/administration/cli/) 进行插件[安装](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation)。
+使用 [`grafana-cli` 命令行工具](https://grafana.com/docs/grafana/latest/administration/cli/) 进行插件 [安装](https://grafana.com/grafana/plugins/tdengine-datasource/?tab=installation)。
```bash
grafana-cli plugins install tdengine-datasource
@@ -92,7 +92,7 @@ GF_INSTALL_PLUGINS=tdengine-datasource
点击 `Add data source` 可进入新增数据源页面,在查询框中输入 TDengine, 然后点击 `select` 选择添加后会进入数据源配置页面,按照默认提示修改相应配置:
-- Host: TDengine 集群中提供 REST 服务的 IP 地址与端口号,默认 `http://localhost:6041`
+- Host:TDengine 集群中提供 REST 服务的 IP 地址与端口号,默认 `http://localhost:6041`
- User:TDengine 用户名。
- Password:TDengine 用户密码。
@@ -248,7 +248,7 @@ TDengine 在支持标准 SQL 的基础之上,还提供了一系列满足时序
- `partition by` 子句可以按一定的维度对数据进行切分,然后在切分出的数据空间内再进行一系列的计算。绝大多数情况可以替代 `group by`。
- `interval` 子句用于产生相等时间周期的窗口
- `fill` 语句指定某一窗口区间数据缺失的情况下的填充模式
-- `时间戳伪列` 如果需要在结果中输出聚合结果所对应的时间窗口信息,需要在 SELECT 子句中使用时间戳相关的伪列: 时间窗口起始时间 (_wstart), 时间窗口结束时间 (_wend) 等
+- `时间戳伪列` 如果需要在结果中输出聚合结果所对应的时间窗口信息,需要在 SELECT 子句中使用时间戳相关的伪列:时间窗口起始时间 (_wstart), 时间窗口结束时间 (_wend) 等
上述特性详细介绍可以参考 [特色查询](../../../reference/taos-sql/distinguished/)。
@@ -266,7 +266,7 @@ TDengine 在支持标准 SQL 的基础之上,还提供了一系列满足时序
假设我们想查询一段时间内的平均电流大小,时间窗口按 `$interval` 切分,若某一时间窗口区间数据缺失,填充 null。
- “INPUT SQL”:输入要查询的语句(该 SQL 语句的结果集应为两列多行),此处输入:`select _wstart as ts, avg(current) as current from power.meters where groupid in ($selected_groups) and ts > $from and ts < $to interval($interval) fill(null)` ,其中,from、to 和 interval 为 Grafana 内置变量,selected_groups 为自定义变量。
- “ALIAS BY”:可设置当前查询别名。
-- “GENERATE SQL”: 点击该按钮会自动替换相应变量,并生成最终执行的语句。
+- “GENERATE SQL”:点击该按钮会自动替换相应变量,并生成最终执行的语句。
在顶部的自定义变量中,若选择 `selected_groups` 的值为 1,则查询 `meters` 超级表中 `groupid` 为 1 的所有设备电流平均值变化如下图:
@@ -282,8 +282,8 @@ TDengine 在支持标准 SQL 的基础之上,还提供了一系列满足时序
假设我们想查询一段时间内的平均电流大小,按 `groupid` 分组展示,我们可以修改之前的 SQL 为 `select _wstart as ts, groupid, avg(current) as current from power.meters where ts > $from and ts < $to partition by groupid interval($interval) fill(null)`
-- “Group by column(s)”: **半角**逗号分隔的 `group by` 或 `partition by` 列名。如果是 `group by` 或 `partition by` 查询语句,设置 “Group by” 列,可以展示多维数据。此处设置 “Group by” 列名为 `groupid`,可以按 `groupid` 分组展示数据。
-- “Group By Format”: `Group by` 或 `Partition by` 场景下多维数据 legend 格式化格式。例如上述 INPUT SQL,将 “Group By Format” 设置为 `groupid-{{groupid}}`,展示的 legend 名字为格式化的分组名。
+- “Group by column(s)”:**半角**逗号分隔的 `group by` 或 `partition by` 列名。如果是 `group by` 或 `partition by` 查询语句,设置 “Group by” 列,可以展示多维数据。此处设置 “Group by” 列名为 `groupid`,可以按 `groupid` 分组展示数据。
+- “Group By Format”:`Group by` 或 `Partition by` 场景下多维数据 legend 格式化格式。例如上述 INPUT SQL,将 “Group By Format” 设置为 `groupid-{{groupid}}`,展示的 legend 名字为格式化的分组名。
完成设置后,按照 `groupid` 分组展示如下图:
@@ -306,10 +306,10 @@ TDengine 在支持标准 SQL 的基础之上,还提供了一系列满足时序
使用 TDengine 作为数据源的其他面板,可以[在此搜索](https://grafana.com/grafana/dashboards/?dataSource=tdengine-datasource)。以下是一份不完全列表:
-- [15146](https://grafana.com/grafana/dashboards/15146): 监控多个 TDengine 集群
-- [15155](https://grafana.com/grafana/dashboards/15155): TDengine 告警示例
-- [15167](https://grafana.com/grafana/dashboards/15167): TDinsight
-- [16388](https://grafana.com/grafana/dashboards/16388): Telegraf 采集节点信息的数据展示
+- [15146](https://grafana.com/grafana/dashboards/15146):监控多个 TDengine 集群
+- [15155](https://grafana.com/grafana/dashboards/15155):TDengine 告警示例
+- [15167](https://grafana.com/grafana/dashboards/15167):TDinsight
+- [16388](https://grafana.com/grafana/dashboards/16388):Telegraf 采集节点信息的数据展示
## 告警配置
@@ -357,7 +357,7 @@ from_address = sender@foxmail.com
然后重启 Grafana 服务(以 Linux 系统为例,执行 `systemctl restart grafana-server.service`)即可添加完成
在 Grafana 页面找到 “Home” -> “Alerting” -> “Contact points”,创建新联络点
-“Name”: Email Contact Point
+“Name”:Email Contact Point
“Integration”:选择联络类型,这里选择 Email,填写邮件接收地址,完成后保存联络点

@@ -389,9 +389,9 @@ from_address = sender@foxmail.com

然后配置下列参数:
-- “Group wait”: 发送首次告警之前的等待时间。
-- “Group interval”: 发送第一个告警后,为该组发送下一批新告警的等待时间。
-- “Repeat interval”: 成功发送告警后再次重复发送告警的等待时间。
+- “Group wait”:发送首次告警之前的等待时间。
+- “Group interval”:发送第一个告警后,为该组发送下一批新告警的等待时间。
+- “Repeat interval”:成功发送告警后再次重复发送告警的等待时间。
### 配置告警规则
diff --git a/docs/zh/10-third-party/05-bi/01-looker.md b/docs/zh/10-third-party/05-bi/01-looker.md
index fc007050e6..043e9164ca 100644
--- a/docs/zh/10-third-party/05-bi/01-looker.md
+++ b/docs/zh/10-third-party/05-bi/01-looker.md
@@ -3,26 +3,29 @@ sidebar_label: Looker
title: 与 Looker Studio 的集成
toc_max_heading_level: 4
---
-Looker Studio,作为Google旗下的一个功能强大的报表和商业智能工具,前身名为Google Data Studio。在2022年的Google Cloud Next大会上,Google将其更名为Looker Studio。这个工具凭借其丰富的数据可视化选项和多样化的数据连接能力,为用户提供了便捷的数据报表生成体验。用户可以根据预设的模板轻松创建数据报表,满足各种数据分析需求。
+Looker Studio,作为 Google 旗下的一个功能强大的报表和商业智能工具,前身名为 Google Data Studio。在 2022 年的 Google Cloud Next 大会上,Google 将其更名为 Looker Studio。这个工具凭借其丰富的数据可视化选项和多样化的数据连接能力,为用户提供了便捷的数据报表生成体验。用户可以根据预设的模板轻松创建数据报表,满足各种数据分析需求。
-由于其简单易用的操作界面和庞大的生态系统支持,Looker Studio在数据分析领域受到众多数据科学家和专业人士的青睐。无论是初学者还是资深分析师,都可以利用Looker Studio快速构建美观且实用的数据报表,从而更好地洞察业务趋势、优化决策过程并提升整体运营效率。
+由于其简单易用的操作界面和庞大的生态系统支持,Looker Studio 在数据分析领域受到众多数据科学家和专业人士的青睐。无论是初学者还是资深分析师,都可以利用 Looker Studio 快速构建美观且实用的数据报表,从而更好地洞察业务趋势、优化决策过程并提升整体运营效率。
## 获取
-目前,TDengine连接器作为Looker Studio的合作伙伴连接器(partner connector),已在Looker Studio官网上线。用户访问Looker Studio的Data Source列表时,只须输入 “TDengine”进行搜索,便可轻松找到并立即使用TDengine连接器。
+目前,TDengine 连接器作为 Looker Studio 的合作伙伴连接器(partner connector),已在 Looker Studio 官网上线。用户访问 Looker Studio 的 Data Source 列表时,只须输入 “TDengine” 进行搜索,便可轻松找到并立即使用 TDengine 连接器。
-TDengine连接器兼容TDengine Cloud和TDengine Server两种类型的数据源。TDengine Cloud是涛思数据推出的全托管物联网和工业互联网大数据云服务平台,为用户提供一站式数据存储、处理和分析解决方案;而TDengine Server则是用户自行部署的本地版本,支持通过公网访问。以下内容将以TDengine Cloud为例进行介绍。
+TDengine 连接器兼容 TDengine Cloud 和 TDengine Server 两种类型的数据源。TDengine Cloud 是涛思数据推出的全托管物联网和工业互联网大数据云服务平台,为用户提供一站式数据存储、处理和分析解决方案;而 TDengine Server 则是用户自行部署的本地版本,支持通过公网访问。以下内容将以 TDengine Cloud 为例进行介绍。
## 使用
-在Looker Studio中使用TDengine连接器的步骤如下。
+在Looker Studio中使用 TDengine 连接器的步骤如下。
-第1步,进入TDengine连接器的详情页面后,在Data Source下拉列表中选择TDengine Cloud,然后点击Next按钮,即可进入数据源配置页面。在该页面中填写以下信息,然后点击Connect按钮。
- - URL和TDengine Cloud Token,可以从TDengine Cloud的实例列表中获取。
+第 1 步,进入TDengine连接器的详情页面后,在 Data Source 下拉列表中选择 TDengine Cloud,然后点击 Next 按钮,即可进入数据源配置页面。在该页面中填写以下信息,然后点击 Connect 按钮。
+ - URL 和 TDengine Cloud Token,可以从 TDengine Cloud 的实例列表中获取。
- 数据库名称和超级表名称。
- 查询数据的开始时间和结束时间。
-第2步,Looker Studio会根据配置自动加载所配置的TDengine数据库下的超级表的字段和标签。
-第3步,点击页面右上角的Explore按钮,即查看从TDengine数据库中加载的数据。
-第4步,根据需求,利用Looker Studio提供的图表,进行数据可视化的配置。
-**注意** 在第一次使用时,请根据页面提示,对Looker Studio的TDengine连接器进行访问授权。
\ No newline at end of file
+第 2 步,Looker Studio 会根据配置自动加载所配置的 TDengine 数据库下的超级表的字段和标签。
+
+第 3 步,点击页面右上角的 Explore 按钮,即查看从 TDengine 数据库中加载的数据。
+
+第 4 步,根据需求,利用 Looker Studio 提供的图表,进行数据可视化的配置。
+
+**注意** 在第一次使用时,请根据页面提示,对 Looker Studio 的 TDengine 连接器进行访问授权。
\ No newline at end of file
diff --git a/docs/zh/10-third-party/05-bi/03-powerbi.md b/docs/zh/10-third-party/05-bi/03-powerbi.md
index 5d709199c8..6562e7e222 100644
--- a/docs/zh/10-third-party/05-bi/03-powerbi.md
+++ b/docs/zh/10-third-party/05-bi/03-powerbi.md
@@ -29,8 +29,8 @@ Power BI 是由 Microsoft 提供的一种商业分析工具。通过配置使用
### 使用说明
为了充分发挥 Power BI 在分析 TDengine中 数据方面的优势,用户需要先理解维度、度量、窗口切分查询、数据切分查询、时序和相关性等核心概念,之后通过自定义的 SQL 导入数据。
-- 维度:通常是分类(文本)数据,描述设备、测点、型号等类别信息。在 TDengine 的超级表中,使用标签列存储数据的维度信息,可以通过形如 “select distinct tbname, tag1, tag2 from supertable” 的SQL语法快速获得维度信息。
-- 度量:可以用于进行计算的定量(数值)字段,常见计算有求和、取平均值和最小值等。如果测点的采集周期为1s,那么一年就有 3000 多万条记录,把这些数据全部导入 Power BI 会严重影响其执行效率。在 TDengine 中,用户可以使用数据切分查询、窗口切分查询等语法,结合与窗口相关的伪列,把降采样后的数据导入Power BI 中,具体语法请参阅 TDengine 官方文档的特色查询功能部分。
+- 维度:通常是分类(文本)数据,描述设备、测点、型号等类别信息。在 TDengine 的超级表中,使用标签列存储数据的维度信息,可以通过形如 `select distinct tbname, tag1, tag2 from supertable` 的 SQL 语法快速获得维度信息。
+- 度量:可以用于进行计算的定量(数值)字段,常见计算有求和、取平均值和最小值等。如果测点的采集周期为 1s,那么一年就有 3000 多万条记录,把这些数据全部导入 Power BI 会严重影响其执行效率。在 TDengine 中,用户可以使用数据切分查询、窗口切分查询等语法,结合与窗口相关的伪列,把降采样后的数据导入 Power BI 中,具体语法请参阅 TDengine 官方文档的特色查询功能部分。
- 窗口切分查询:比如温度传感器每秒采集一次数据,但须查询每隔 10min 的温度平均值,在这种场景下可以使用窗口子句来获得需要的降采样查询结果,对应的 SQL 形如 `select tbname, _wstart date,avg(temperature) temp from table interval(10m)`,其中,`_wstart` 是伪列,表示时间窗口起始时间,10m 表示时间窗口的持续时间,`avg(temperature)` 表示时间窗口内的聚合值。
- 数据切分查询:如果需要同时获取很多温度传感器的聚合数值,可对数据进行切分,然后在切分出的数据空间内进行一系列的计算,对应的 SQL 形如 `partition by part_list`。数据切分子句最常见的用法是在超级表查询中按标签将子表数据进行切分,将每个子表的数据独立出来,形成一条条独立的时间序列,方便针对各种时序场景的统计分析。
- 时序:在绘制曲线或者按照时间聚合数据时,通常需要引入日期表。日期表可以从 Excel 表格中导入,也可以在 TDengine 中执行 SQL 获取,例如 `select _wstart date, count(*) cnt from test.meters where ts between A and B interval(1d) fill(0)`,其中 fill 字句表示数据缺失情况下的填充模式,伪列 _wstart 则为要获取的日期列。
@@ -46,7 +46,7 @@ TDengine 采用了一种独特的数据模型,以优化时序数据的存储
根据如下步骤,便可以体验通过 Power BI 生成时序数据报表的功能。
-**第 1 步**,使用 TDengine 的 taosBenchMark 快速生成1000块智能电表3天的数据,采集频率为 1s。
+**第 1 步**,使用 TDengine 的 taosBenchMark 快速生成 1000 块智能电表 3 天的数据,采集频率为 1s。
```shell
taosBenchmark -t 1000 -n 259200 -S 1000 -y
@@ -76,4 +76,4 @@ select _wstart date, count(*) from test.meters interval(1d) having count(*)>0
**第 7 步**,制作报告。在柱状图、饼图等控件中使用这些数据。
-由于TDengine处理时序数据的超强性能,使得用户在数据导入及每日定期刷新数据时,都可以得到非常好的体验。更多有关 Power BI 视觉效果的构建方法,请参照 Power BI 的官方文档。
\ No newline at end of file
+由于 TDengine 处理时序数据的超强性能,使得用户在数据导入及每日定期刷新数据时,都可以得到非常好的体验。更多有关 Power BI 视觉效果的构建方法,请参照 Power BI 的官方文档。
\ No newline at end of file
diff --git a/docs/zh/10-third-party/07-tool/03-qstudio.md b/docs/zh/10-third-party/07-tool/03-qstudio.md
index 9937ceb2ba..82dcab317e 100644
--- a/docs/zh/10-third-party/07-tool/03-qstudio.md
+++ b/docs/zh/10-third-party/07-tool/03-qstudio.md
@@ -10,17 +10,16 @@ qStudio 是一款免费的多平台 SQL 数据分析工具,可以轻松浏览
使用 qStudio 连接 TDengine 需要以下几方面的准备工作。
-- 安装 qStudio。qStudio 支持主流操作系统包括 Windows、macOS 和 Linux。请注意[下载](https://www.timestored.com/qstudio/download/)正确平台的安装包。
+- 安装 qStudio。qStudio 支持主流操作系统包括 Windows、macOS 和 Linux。请注意 [下载](https://www.timestored.com/qstudio/download/) 正确平台的安装包。
- 安装 TDengine 实例,请确认 TDengine 正常运行,并且 taosAdapter 已经安装并正常运行,具体细节请参考 [taosAdapter 的使用手册](../../../reference/components/taosadapter)。
## 使用 qStudio 连接 TDengine
-1. 启动 qStudio 应用,从菜单项选择“Server” 和 “Add Server...”,然后在 Server Type 下拉框中选择 TDengine。
+1. 启动 qStudio 应用,从菜单项选择 “Server” 和 “Add Server...”,然后在 Server Type 下拉框中选择 TDengine。

-2. 配置 TDengine 连接,填入主机地址、端口号、用户名和密码。如果 TDengine 部署在本机,可以只填用户名和密码,默认用户名为 root,默认密码为 taosdata。点击“Test”可以对连接是否可用进行测试。如果本机没有安装 TDengine Java
- 连接器,qStudio 会提示下载安装。
+2. 配置 TDengine 连接,填入主机地址、端口号、用户名和密码。如果 TDengine 部署在本机,可以只填用户名和密码,默认用户名为 root,默认密码为 taosdata。点击 “Test” 可以对连接是否可用进行测试。如果本机没有安装 TDengine Java 连接器,qStudio 会提示下载安装。

diff --git a/docs/zh/26-tdinternal/05-query.md b/docs/zh/26-tdinternal/05-query.md
index 2127e144ea..2eb19d43f2 100644
--- a/docs/zh/26-tdinternal/05-query.md
+++ b/docs/zh/26-tdinternal/05-query.md
@@ -87,14 +87,14 @@ TDengine 为了解决实际应用中对不同数据采集点数据进行高效

具体步骤说明如下。
-第 1 步,taosc 从 mnode 获取库和表的元数据信息。
-第 2 步,mnode 返回请求的元数据信息。
-第 3 步,taosc 向超级表所属的每个 vnode 发送查询请求。
-第 4 步,vnode 启动本地查询,在获得查询结果后返回查询响应。
-第 5 步,taosc 向聚合节点(在本例中为 qnode)发送查询请求。
-第 6 步,qnode 向每个 vnode 节点发送数据请求消息来拉取数据。
-第 7 步,vnode 返回本节点的查询计算结果。
-第 8 步,qnode 完成多节点数据聚合后将最终查询结果返回给客户端。
+- 第 1 步,taosc 从 mnode 获取库和表的元数据信息。
+- 第 2 步,mnode 返回请求的元数据信息。
+- 第 3 步,taosc 向超级表所属的每个 vnode 发送查询请求。
+- 第 4 步,vnode 启动本地查询,在获得查询结果后返回查询响应。
+- 第 5 步,taosc 向聚合节点(在本例中为 qnode)发送查询请求。
+- 第 6 步,qnode 向每个 vnode 节点发送数据请求消息来拉取数据。
+- 第 7 步,vnode 返回本节点的查询计算结果。
+- 第 8 步,qnode 完成多节点数据聚合后将最终查询结果返回给客户端。
TDengine 为了提升聚合计算速度,在 vnode 内实现了标签数据与时序数据的分离存储。首先,系统会在内存中过滤标签数据,以确定需要参与聚合操作的表的集合。这样做可以显著减少需要扫描的数据集,从而大幅提高聚合计算的速度。