复杂事件处理(CEP)语句
复杂事件处理(CEP)语句MATCH_RECOGNIZE,用于识别输入流中符合指定规则的事件,并按照指定方式输出。
语法
SELECT [ ALL | DISTINCT ]
{ * | projectItem [, projectItem ]* }
FROM tableExpression
[MATCH_RECOGNIZE (
[PARTITION BY {partitionItem [, partitionItem]*}]
[ORDER BY {orderItem [, orderItem]*}]
[MEASURES {measureItem AS col [, measureItem AS col]*}]
[ONE ROW PER MATCH|ALL ROWS PER MATCH|ONE ROW PER MATCH WITH TIMEOUT ROWS|ALL ROWS PER MATCH WITH TIMEOUT ROWS]
[AFTER MATCH SKIP]
PATTERN (patternVariable[quantifier] [ patternVariable[quantifier]]*) WITHIN intervalExpression
DEFINE {patternVariable AS patternDefinationExpression [, patternVariable AS patternDefinationExpression]*}
)];
参数 | 说明 |
---|---|
PARTITION BY | 分区的列,可选项。 |
ORDER BY | 可以指定多列,但是必须以EVENT TIME 或PROCESS TIME 列作为排序的首列,可选项。 |
MEASURES | 定义如何根据匹配成功的输入事件构造输出事件。 |
ONE ROW PER MATCH | 对于每一次成功的匹配,只产生一个输出事件。 |
ONE ROW PER MATCH WITH TIMEOUT ROWS | 除了匹配成功时产生的输出外,超时也 |