日期:
来源:OSC开源社区收集编辑:邀你看直播的
时序数据及其特点
时序数据库基本架构
03
流计算介绍
时序数据库对流计算的支持
案例一:使用定制化的流计算 API,如下面例子所示:
from(bucket: "mydb")|> range(start: -1h)|> filter(fn: (r) => r["_measurement"] == "mymeasurement")|> map(fn: (r) => ({ r with value: r.value * 2 }))|> filter(fn: (r) => r.value > 100)|> aggregateWindow(every: 1m, fn: sum, createEmpty: false)|> group(columns: ["location"])|> join(tables: {stream1: {bucket: "mydb", measurement: "stream1", start: -1h}, stream2: {bucket: "mydb", measurement: "stream2", start: -1h}}, on: ["location"])|> alert(name: "value_above_threshold", message: "Value is above threshold", crit: (r) => r.value > 100)|> to(bucket: "mydb", measurement: "output", tagColumns: ["location"])
案例二:使用类 SQL 指令,创建流计算以及定义流计算规则,如下:
CREATE STREAM current_streamTRIGGER AT_ONCEINTO current_stream_output_stb ASSELECT_wstart as start,_wend as end,max(current) as max_currentFROM metersWHERE voltage <= 220INTEVAL (5S) SLIDING (1s);
往期推荐