Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
5e705fe8
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
5e705fe8
编写于
8月 13, 2022
作者:
L
Liu Jicong
提交者:
GitHub
8月 13, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update 06-stream.md
上级
6c868690
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
11 addition
and
6 deletion
+11
-6
docs/zh/07-develop/06-stream.md
docs/zh/07-develop/06-stream.md
+11
-6
未找到文件。
docs/zh/07-develop/06-stream.md
浏览文件 @
5e705fe8
...
@@ -4,8 +4,13 @@ description: "TDengine 流式计算将数据的写入、预处理、复杂分析
...
@@ -4,8 +4,13 @@ description: "TDengine 流式计算将数据的写入、预处理、复杂分析
title
:
流式计算
title
:
流式计算
---
---
在时序数据的处理中,经常要对原始数据进行清洗、预处理,再使用时序数据库进行长久的储存。用户通常需要在时序数据库之外再搭建 Kafka、Flink、Spark 等流计算处理引擎,增加了用户的开发成本和维护成本。
在时序数据的处理中,经常要对原始数据进行清洗、预处理,再使用时序数据库进行长久的储存。在传统的时序数据解决方案中,常常需要部署 Kafka、Flink 等流处理系统。而流处理系统的复杂性,带来了高昂的开发与运维成本。
使用 TDengine 3.0 的流式计算引擎能够最大限度的减少对这些额外中间件的依赖,真正将数据的写入、预处理、长期存储、复杂分析、实时计算、实时报警触发等功能融为一体,并且,所有这些任务只需要使用 SQL 完成,极大降低了用户的学习成本、使用成本。
TDengine 3.0 的流式计算引擎提供了实时处理写入的数据流的能力,使用 SQL 定义实时流变换,当数据被写入流的源表后,数据会被以定义的方式自动处理,并根据定义的触发模式向目的表推送结果。它提供了替代复杂流处理系统的轻量级解决方案,并能够在高吞吐的数据写入的情况下,提供毫秒级的计算结果延迟。
流式计算可以包含数据过滤,标量函数计算(含UDF),以及窗口聚合(支持滑动窗口、会话窗口与状态窗口),可以以超级表、子表、普通表为源表,写入到目的超级表。在创建流时,目的超级表将被自动创建,随后新插入的数据会被流定义的方式处理并写入其中,通过 partition by 子句,可以以表名或标签划分 partition,不同的 partition 将写入到目的超级表的不同子表。
TDengine 的流式计算能够支持分布在多个 vnode 中的超级表;还能够处理乱序数据的写入:它提供了 watermark 机制以度量容忍数据乱序的程度,并提供了 ignore expired 配置项以决定乱序数据的处理策略——丢弃或者重新计算。
详见
[
流式计算
](
../../taos-sql/stream
)
## 流式计算的创建
## 流式计算的创建
...
@@ -14,7 +19,7 @@ CREATE STREAM [IF NOT EXISTS] stream_name [stream_options] INTO stb_name AS subq
...
@@ -14,7 +19,7 @@ CREATE STREAM [IF NOT EXISTS] stream_name [stream_options] INTO stb_name AS subq
stream_options
:
{
stream_options
:
{
TRIGGER
[
AT_ONCE
|
WINDOW_CLOSE
|
MAX_DELAY
time
]
TRIGGER
[
AT_ONCE
|
WINDOW_CLOSE
|
MAX_DELAY
time
]
WATERMARK
time
WATERMARK
time
IGNORE
EXPIRED
IGNORE
EXPIRED
[
0
|
1
]
}
}
```
```
...
@@ -59,7 +64,7 @@ insert into d1004 values("2018-10-03 14:38:05.000", 10.80000, 223, 0.29000);
...
@@ -59,7 +64,7 @@ insert into d1004 values("2018-10-03 14:38:05.000", 10.80000, 223, 0.29000);
insert
into
d1004
values
(
"2018-10-03 14:38:06.500"
,
11
.
50000
,
221
,
0
.
35000
);
insert
into
d1004
values
(
"2018-10-03 14:38:06.500"
,
11
.
50000
,
221
,
0
.
35000
);
```
```
### 查询以观
查
结果
### 查询以观
察
结果
```
sql
```
sql
taos
>
select
start
,
end
,
max_current
from
current_stream_output_stb
;
taos
>
select
start
,
end
,
max_current
from
current_stream_output_stb
;
...
@@ -88,7 +93,7 @@ create stream power_stream into power_stream_output_stb as select ts, concat_ws(
...
@@ -88,7 +93,7 @@ create stream power_stream into power_stream_output_stb as select ts, concat_ws(
参考示例一
[
写入数据
](
#写入数据
)
参考示例一
[
写入数据
](
#写入数据
)
### 查询以观
查
结果
### 查询以观
察
结果
```
sql
```
sql
taos
>
select
ts
,
meter_location
,
active_power
,
reactive_power
from
power_stream_output_stb
;
taos
>
select
ts
,
meter_location
,
active_power
,
reactive_power
from
power_stream_output_stb
;
ts
|
meter_location
|
active_power
|
reactive_power
|
ts
|
meter_location
|
active_power
|
reactive_power
|
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录