Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
47c9309a
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看板
提交
47c9309a
编写于
8月 12, 2022
作者:
J
jiajingbin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: update 06-stream.md for stream-computing
上级
de225e6f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
44 addition
and
67 deletion
+44
-67
docs/zh/07-develop/06-stream.md
docs/zh/07-develop/06-stream.md
+44
-67
未找到文件。
docs/zh/07-develop/06-stream.md
浏览文件 @
47c9309a
...
...
@@ -29,100 +29,77 @@ stream_options: {
首先准备数据,完成建库、建一张超级表和多张子表操作
```
sql
drop
database
if
exists
stream_db
;
create
database
stream_db
;
DROP
DATABASE
IF
EXISTS
power
;
CREATE
DATABASE
power
;
USE
power
;
create
stable
stream_db
.
meters
(
ts
timestamp
,
current
float
,
voltage
int
)
TAGS
(
location
varchar
(
64
),
groupId
int
);
CREATE
STABLE
meters
(
ts
timestamp
,
current
float
,
voltage
int
,
phase
float
)
TAGS
(
location
binary
(
64
),
groupId
int
);
create
table
stream_db
.
d1001
using
stream_db
.
meters
tags
(
"beijing"
,
1
);
create
table
stream_db
.
d1002
using
stream_db
.
meters
tags
(
"guangzhou"
,
2
);
create
table
stream_db
.
d1003
using
stream_db
.
meters
tags
(
"shanghai"
,
3
);
CREATE
TABLE
d1001
USING
meters
TAGS
(
"California.SanFrancisco"
,
2
);
CREATE
TABLE
d1002
USING
meters
TAGS
(
"California.SanFrancisco"
,
3
);
CREATE
TABLE
d1003
USING
meters
TAGS
(
"California.LosAngeles"
,
2
);
CREATE
TABLE
d1004
USING
meters
TAGS
(
"California.LosAngeles"
,
3
);
```
### 创建流
```
sql
create
stream
stream1
into
stream_db
.
stream1_output_stb
as
select
_wstart
as
start
,
_wend
as
end
,
max
(
current
)
as
max_current
from
stream_db
.
meters
where
voltage
<=
220
and
ts
>
now
-
12
h
interval
(
1
h
);
create
stream
current_stream
into
current_stream_output_stb
as
select
_wstart
as
start
,
_wend
as
end
,
max
(
current
)
as
max_current
from
meters
where
voltage
<=
220
and
ts
>
now
-
12
h
interval
(
1
h
);
```
### 写入数据
```
sql
insert
into
stream_db
.
d1001
values
(
now
-
14
h
,
10
.
3
,
210
);
insert
into
stream_db
.
d1001
values
(
now
-
13
h
,
13
.
5
,
216
);
insert
into
stream_db
.
d1001
values
(
now
-
12
h
,
12
.
5
,
219
);
insert
into
stream_db
.
d1002
values
(
now
-
11
h
,
14
.
7
,
221
);
insert
into
stream_db
.
d1002
values
(
now
-
10
h
,
10
.
5
,
218
);
insert
into
stream_db
.
d1002
values
(
now
-
9
h
,
11
.
2
,
220
);
insert
into
stream_db
.
d1003
values
(
now
-
8
h
,
11
.
5
,
217
);
insert
into
stream_db
.
d1003
values
(
now
-
7
h
,
12
.
3
,
227
);
insert
into
stream_db
.
d1003
values
(
now
-
6
h
,
12
.
3
,
215
);
insert
into
d1001
values
(
now
-
13
h
,
10
.
30000
,
219
,
0
.
31000
);
insert
into
d1001
values
(
now
-
11
h
,
12
.
60000
,
218
,
0
.
33000
);
insert
into
d1001
values
(
now
-
10
h
,
12
.
30000
,
221
,
0
.
31000
);
insert
into
d1002
values
(
now
-
9
h
,
10
.
30000
,
218
,
0
.
25000
);
insert
into
d1003
values
(
now
-
8
h
,
11
.
80000
,
221
,
0
.
28000
);
insert
into
d1003
values
(
now
-
7
h
,
13
.
40000
,
223
,
0
.
29000
);
insert
into
d1004
values
(
now
-
6
h
,
10
.
80000
,
223
,
0
.
29000
);
insert
into
d1004
values
(
now
-
5
h
,
11
.
50000
,
221
,
0
.
35000
);
```
### 查询以观查结果
```
sql
taos
>
select
*
from
stream_db
.
stream1_output_stb
;
start
|
end
|
max_current
|
group_id
|
===================================================================================================
2022
-
08
-
09
14
:
00
:
00
.
000
|
2022
-
08
-
09
15
:
00
:
00
.
000
|
10
.
50000
|
0
|
2022
-
08
-
09
15
:
00
:
00
.
000
|
2022
-
08
-
09
16
:
00
:
00
.
000
|
11
.
20000
|
0
|
2022
-
08
-
09
16
:
00
:
00
.
000
|
2022
-
08
-
09
17
:
00
:
00
.
000
|
11
.
50000
|
0
|
2022
-
08
-
09
18
:
00
:
00
.
000
|
2022
-
08
-
09
19
:
00
:
00
.
000
|
12
.
30000
|
0
|
Query
OK
,
4
rows
in
database
(
0
.
012033
s
)
taos
>
select
start
,
end
,
max_current
from
current_stream_output_stb
;
start
|
end
|
max_current
|
===========================================================================
2022
-
08
-
12
04
:
00
:
00
.
000
|
2022
-
08
-
12
05
:
00
:
00
.
000
|
12
.
60000
|
2022
-
08
-
12
06
:
00
:
00
.
000
|
2022
-
08
-
12
07
:
00
:
00
.
000
|
10
.
30000
|
Query
OK
,
2
rows
in
database
(
0
.
009580
s
)
```
## 示例二
某运营商平台要采集机房所有服务器的系统资源指标,包含 cpu、内存、网络延迟等,采集后需要对数据进行四舍五入运算,将地域和服务器名以下划线拼接,然后将结果按时间排序并以服务器名分组输出到新的数据表中。
### 创建 DB 和原始数据表
首先准备数据,完成建库、建一张超级表和多张子表操作
依然以示例一中的数据为基础,我们已经采集到了每个智能电表的电流和电压数据,现在要求出功率,并将地域和电表名以符号 "." 拼接,然后以电表名称分组输出到新的数据表中。
```
sql
drop
database
if
exists
stream_db
;
create
database
stream_db
;
create
stable
stream_db
.
idc
(
ts
timestamp
,
cpu
float
,
mem
float
,
latency
float
)
TAGS
(
location
varchar
(
64
),
groupId
int
);
### 创建 DB 和原始数据表
create
table
stream_db
.
server01
using
stream_db
.
idc
tags
(
"beijing"
,
1
);
create
table
stream_db
.
server02
using
stream_db
.
idc
tags
(
"shanghai"
,
2
);
create
table
stream_db
.
server03
using
stream_db
.
idc
tags
(
"beijing"
,
2
);
create
table
stream_db
.
server04
using
stream_db
.
idc
tags
(
"tianjin"
,
3
);
create
table
stream_db
.
server05
using
stream_db
.
idc
tags
(
"shanghai"
,
1
);
```
参考示例一
[
创建 DB 和原始数据表
](
#创建-db-和原始数据表
)
### 创建流
```
sql
create
stream
stream2
into
stream_db
.
stream2_output_stb
as
select
ts
,
concat_ws
(
"_"
,
location
,
tbname
)
as
server_location
,
round
(
cpu
)
as
cpu
,
round
(
mem
)
as
mem
,
round
(
latency
)
as
latency
from
stream_db
.
idc
partition
by
tbname
order
by
ts
;
create
stream
power_stream
into
power_stream_output_stb
as
select
ts
,
concat_ws
(
"."
,
location
,
tbname
)
as
meter_location
,
current
*
voltage
as
meter_power
from
meters
partition
by
tbname
;
```
### 写入数据
```
sql
insert
into
stream_db
.
server01
values
(
now
-
14
h
,
50
.
9
,
654
.
8
,
23
.
11
);
insert
into
stream_db
.
server01
values
(
now
-
13
h
,
13
.
5
,
221
.
2
,
11
.
22
);
insert
into
stream_db
.
server02
values
(
now
-
12
h
,
154
.
7
,
218
.
3
,
22
.
33
);
insert
into
stream_db
.
server02
values
(
now
-
11
h
,
120
.
5
,
111
.
5
,
5
.
55
);
insert
into
stream_db
.
server03
values
(
now
-
10
h
,
101
.
5
,
125
.
6
,
5
.
99
);
insert
into
stream_db
.
server03
values
(
now
-
9
h
,
12
.
3
,
165
.
6
,
6
.
02
);
insert
into
stream_db
.
server04
values
(
now
-
8
h
,
160
.
9
,
120
.
7
,
43
.
51
);
insert
into
stream_db
.
server04
values
(
now
-
7
h
,
240
.
9
,
520
.
7
,
54
.
55
);
insert
into
stream_db
.
server05
values
(
now
-
6
h
,
190
.
9
,
320
.
7
,
55
.
43
);
insert
into
stream_db
.
server05
values
(
now
-
5
h
,
110
.
9
,
600
.
7
,
35
.
54
);
```
参考示例一
[
写入数据
](
#写入数据
)
### 查询以观查结果
```
sql
taos
>
select
ts
,
server_location
,
cpu
,
mem
,
latency
from
stream_db
.
stream2_output_stb
;
ts
|
server_location
|
cpu
|
mem
|
latency
|
================================================================================================================================
2022
-
08
-
09
21
:
24
:
56
.
785
|
beijing_server01
|
51
.
00000
|
655
.
00000
|
23
.
00000
|
2022
-
08
-
09
22
:
24
:
56
.
795
|
beijing_server01
|
14
.
00000
|
221
.
00000
|
11
.
00000
|
2022
-
08
-
09
23
:
24
:
56
.
806
|
shanghai_server02
|
155
.
00000
|
218
.
00000
|
22
.
00000
|
2022
-
08
-
10
00
:
24
:
56
.
815
|
shanghai_server02
|
121
.
00000
|
112
.
00000
|
6
.
00000
|
2022
-
08
-
10
01
:
24
:
56
.
826
|
beijing_server03
|
102
.
00000
|
126
.
00000
|
6
.
00000
|
2022
-
08
-
10
02
:
24
:
56
.
838
|
beijing_server03
|
12
.
00000
|
166
.
00000
|
6
.
00000
|
2022
-
08
-
10
03
:
24
:
56
.
846
|
tianjin_server04
|
161
.
00000
|
121
.
00000
|
44
.
00000
|
2022
-
08
-
10
04
:
24
:
56
.
853
|
tianjin_server04
|
241
.
00000
|
521
.
00000
|
55
.
00000
|
2022
-
08
-
10
05
:
24
:
56
.
866
|
shanghai_server05
|
191
.
00000
|
321
.
00000
|
55
.
00000
|
2022
-
08
-
10
06
:
24
:
57
.
301
|
shanghai_server05
|
111
.
00000
|
601
.
00000
|
36
.
00000
|
Query
OK
,
10
rows
in
database
(
0
.
022950
s
)
```
taos
>
select
ts
,
meter_location
,
meter_power
from
power_stream_output_stb
;
ts
|
meter_location
|
meter_power
|
=======================================================================================
2022
-
08
-
12
07
:
44
:
47
.
817
|
California
.
SanFrancisco
.
d1002
|
2245
.
400041580
|
2022
-
08
-
12
08
:
44
:
47
.
826
|
California
.
LosAngeles
.
d1003
|
2607
.
800042152
|
2022
-
08
-
12
09
:
44
:
47
.
833
|
California
.
LosAngeles
.
d1003
|
2988
.
199914932
|
2022
-
08
-
12
03
:
44
:
47
.
791
|
California
.
SanFrancisco
.
d1001
|
2255
.
700041771
|
2022
-
08
-
12
05
:
44
:
47
.
800
|
California
.
SanFrancisco
.
d1001
|
2746
.
800083160
|
2022
-
08
-
12
06
:
44
:
47
.
809
|
California
.
SanFrancisco
.
d1001
|
2718
.
300042152
|
2022
-
08
-
12
10
:
44
:
47
.
840
|
California
.
LosAngeles
.
d1004
|
2408
.
400042534
|
2022
-
08
-
12
11
:
44
:
48
.
379
|
California
.
LosAngeles
.
d1004
|
2541
.
500000000
|
Query
OK
,
8
rows
in
database
(
0
.
014788
s
)
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录