addMetrics

语法

addMetrics(engine/name, newMetrics, newMetricsSchema, [windowSize])

别名:extendMetrics

参数

engine 是流数据引擎,即 createTimeSeriesEngine 等函数返回的抽象表对象。请注意,暂不支持 createAnomalyDetectionEnginecreateReactiveStateEngine 引擎。

name 是一个字符串,表示流数据引擎的名称。

newMetrics 是元代码,表示流数据引擎增加的计算指标。

newMetricsSchema 是表对象,指定新增的计算指标在输出表中的列名和数据类型。

windowSize 是一个正整数,表示新增指标的计算窗口长度。仅适用于时间序列引擎,且必须为已指定的窗口长度之一。若未指定,默认值为第一个已指定的窗口长度。

详情

动态增加流数据引擎的计算指标。

例子

使用流数据时间序列引擎计算sum(x)指标。

$ share streamTable(10000:0,`time`id`x, [TIMESTAMP,SYMBOL,INT]) as t
$ output1 = table(10000:0, `time`sum_x, [TIMESTAMP,INT])
$ agg1 = createTimeSeriesEngine(name=`agg1, windowSize=100, step=50, metrics=<sum(x)>, dummyTable=t, outputTable=output1, timeColumn=`time)
$ subscribeTable(tableName="t", actionName="agg1", offset=0, handler=append!{agg1}, msgAsTable=true)
$ n=500
$ time=2019.01.01T00:00:00.000+(1..n)
$ id=take(`ABC`DEF, n)
$ x=1..n
$ insert into t values(time, id, x);
$ select * from output1;

time

sum_x

2019.01.01T00:00:00.050

1,225

2019.01.01T00:00:00.100

4,950

2019.01.01T00:00:00.150

9,950

2019.01.01T00:00:00.200

14,950

2019.01.01T00:00:00.300

24,950

2019.01.01T00:00:00.350

29,950

2019.01.01T00:00:00.400

34,950

2019.01.01T00:00:00.450

39,950

2019.01.01T00:00:00.500

44,950

给时间序列引擎增加avg(x)指标,该指标在输出表中的名称为avg_x,数据类型为DOUBLE。

$ newMetricsSchema= table(1:0, [`avg_x], [DOUBLE])
$ addMetrics(agg1, <avg(x)>, newMetricsSchema);
$ n=300
$ time=2019.01.01T00:00:00.500+(1..n)
$ id=take(`ABC`DEF, n)
$ x=500+1..n
$ insert into t values(time, id, x);
$ select * from output1;

time

sum_x

avg_x

2019.01.01T00:00:00.050

1,225

2019.01.01T00:00:00.100

4,950

2019.01.01T00:00:00.150

9,950

2019.01.01T00:00:00.200

14,950

2019.01.01T00:00:00.250

19,950

2019.01.01T00:00:00.300

24,950

2019.01.01T00:00:00.350

29,950

2019.01.01T00:00:00.400

34,950

2019.01.01T00:00:00.450

39,950

2019.01.01T00:00:00.500

44,950

2019.01.01T00:00:00.550

49,950

525

2019.01.01T00:00:00.600

54,950

550

2019.01.01T00:00:00.650

59,950

599.5

2019.01.01T00:00:00.700

64,950

649.5

2019.01.01T00:00:00.750

69,950

699.5

2019.01.01T00:00:00.800

74,950

749.5