问题标签 [match-recognize]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
870 浏览

java - 逃脱的正确方法是什么?使用 Oracle 12c MATCH_RECOGNIZE 时 JDBC PreparedStatement 中的字符?

以下查询在 Oracle 12c 中是正确的:

但它不能通过 JDBC 工作,因为该?字符用作正则表达式字符,而不是用作绑定变量。

?假设我想将其作为PreparedStatement绑定变量运行,那么通过 JDBC转义的正确方法是什么?

笔记:

0 投票
1 回答
291 浏览

sql - MATCH_RECOGNIZE - ORA-00933: SQL 命令未正确结束

运行此程序时,我收到: ORA-00933: SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束”

0 投票
1 回答
397 浏览

apache-kafka - 如何在 Esper 中使用 match_recognize 对事件流中事件的未知属性进行模式匹配?

我是 Esper 的新手,我正在尝试从具有多个高速事件的事件流中过滤事件属性。

我正在使用 Kafka 将 CSV 从生产者逐行发送到消费者,在消费者处,我将这些行转换为 HashMap 并在运行时在 Esper 中创建事件。

例如,我在下面列出了每 1 秒发生一次的事件

天气事件流:

E1 = {hum=51.0, precipi=1, precipm=1, tempi=57.9, icon=clear,picking_datetime=2016-09-26 02:51:00, tempm=14.4, Thunder=0, windchilli=, wgusti=,压力i=30.18,windchillm=}

E2 = {hum=51.5, precipi=1, precipm=1, tempi=58.9, icon=clear,picking_datetime=2016-09-26 02:55:00, tempm=14.5, Thunder=0, windchilli=, wgusti=,压力i=31.18,windchillm=}

E3 = {hum=52, precipi=1, precipm=1, tempi=59.9, icon=clear,picking_datetime=2016-09-26 02:59:00, tempm=14.6, Thunder=0, windchilli=, wgusti=,压力i=32.18, windchillm=}#

其中 E1, E2...EN 是 WeatherEvent 中的多个事件

在上述事件中,我只想过滤掉诸如嗡嗡声、速度、温度和压力之类的属性,因为它们会随着时间的推移而变化(在 4 秒内),并且不想关心根本没有变化或真正变化的属性慢慢地。

使用下面的 EPL 查询,我可以过滤掉 temp、hum 等属性

@Name('Out') select * from weatherEvent.win:time(10 sec) match_recognize (partition bypicking_datetime?measures A.tempm? as a_temp, B.tempm? as b_temp pattern (AB) define B as Math.abs( B.tempm? - A.tempm?) > 0 )

问题是我只能在模式匹配查询中指定 tempm 或 hum 时这样做。

但是由于数据来自 CSV 并且它具有高维度或特征,所以我事先不知道事件的属性是什么。

我希望 Esper 自动检测正在更改的功能/属性(在运行时)并将其过滤掉,而无需我指定事件的属性。

任何想法如何做到这一点?埃斯珀甚至有可能吗?如果没有,我可以使用 Siddhi、OracleCEP 等其他 CEP 引擎吗?

0 投票
2 回答
140 浏览

sql - 如何使用 MATCH_RECOGNIZE 获得所需的结果?

输入:

在此处输入图像描述

使用 MATCH_RECOGNIZE 子句编写的查询

上述查询的输出:

在此处输入图像描述

期望的输出:

在此处输入图像描述

无论我在上述查询中的 MEASURES/PATTERN/DEFINE 部分进行什么更改,我都不知道为什么没有填充 EXIT_DT。

如何识别问题?

0 投票
1 回答
50 浏览

sql - match_recognize 是否可以选择保留所有原始行并标记匹配项?

我想在原始行中添加一个标志,以指示何时找到匹配项。有没有更好的方法只使用 MATCH_RECOGNIZE 而不需要我在下面完成的 RIGHT JOIN?有 6 个匹配项,我想通过在 60 行的原始表中添加一个新列来标记这 6 个匹配项。

这是示例数据:

这是我的结果:

在此处输入图像描述

0 投票
1 回答
51 浏览

oracle - 使用 MATCH_RECOGNIZE 时 FINAL SUM 的 NULLIF 翻倍

当我运行下面的代码时,我期望b1b2是相等的,然而,b2是加倍的。难道我做错了什么?这是数据库中的错误吗?我们在跑Oracle 12c (12.2.0.1.0)

结果:

0 投票
1 回答
34 浏览

oracle - 想在oracle存储过程中找到非连续数的起点和终点

假设主表是

现在我想要第二个结果表中 ID 的开始和结束位置,其中 usage_flag 为空

喜欢

0 投票
1 回答
47 浏览

database - 插入 MATCH_RECOGNIZE 选择 Oracle 的第一行和最后一行

我不太擅长 sql,我需要你的帮助。

我在 Oracle DB 中有一个包含示例数据的表,如下所示:

我有一个选择,它给了我START_TIME、END_TIME、TYPE、START_LAT、START_LON、END_LAT、END_LON、START_MSG、END_MSG

此选择的输出:

现在,当例如START_LAT介于 10 和 11 之间并且START_LON介于 11 和 12 之间时,我需要将值为“国家 xy”的数据插入 START_MSG 列。对于END_MSG也是如此。

我怎样才能做到这一点?

抱歉我的英语不好;)。

非常感谢您!

0 投票
2 回答
240 浏览

snowflake-cloud-data-platform - Snowflake 中的 Match_Recognize 没有返回我认为它应该返回的内容

我确定我不理解这一点,但这被定义为

PATTERN:指定要匹配的模式 PATTERN ( ) 模式定义了表示匹配的有效行序列。该模式的定义类似于正则表达式 (regex),由符号、运算符和量词构成。

一个例子是:

例如,假设符号 S1 定义为 stock_price < 55,符号 S2 定义为股票价格 > 55。以下模式指定股票价格从小于 55 增加到大于 55 的行序列:

模式(S1 S2)

所以如果我这样做

然后我做

为什么我没有得到“andrew”作为创纪录的回报?如果我将任一测试放入模式中,它确实会显示出来。当我把两个都放进去时,它没有。相反,它显示 3andrew 和 andrew2 作为记录结果,这对我来说是出乎意料的,因为这个例子让我相信它就像 AND 一样工作。任何帮助表示赞赏。

0 投票
1 回答
58 浏览

apache-flink - flink SQL 不支持嵌套的 match_recognize 查询?

我正在使用 flink 1.11 并尝试使用 match_recognize 的嵌套查询,如下所示:

我收到一个错误:org.apache.calcite.sql.validate.SqlValidatorException: Table 'A' not found

这不支持吗?如果不是还有什么选择?