问题标签 [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.
java - 逃脱的正确方法是什么?使用 Oracle 12c MATCH_RECOGNIZE 时 JDBC PreparedStatement 中的字符?
以下查询在 Oracle 12c 中是正确的:
但它不能通过 JDBC 工作,因为该?
字符用作正则表达式字符,而不是用作绑定变量。
?
假设我想将其作为PreparedStatement
绑定变量运行,那么通过 JDBC转义的正确方法是什么?
笔记:
- 我找到了关于 JDBC 规范讨论邮件列表的讨论,但是这个问题没有结论:http: //mail.openjdk.java.net/pipermail/jdbc-spec-discuss/2013-October/000066.html
- PostgreSQL 与 JSON 运算符有类似的问题:如何使用包含问号“?”的 PostgreSQL JSON(B) 运算符。通过 JDBC
sql - MATCH_RECOGNIZE - ORA-00933: SQL 命令未正确结束
运行此程序时,我收到: ORA-00933: SQL 命令未正确结束 00933. 00000 - “SQL 命令未正确结束”
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 引擎吗?
oracle - 使用 MATCH_RECOGNIZE 时 FINAL SUM 的 NULLIF 翻倍
当我运行下面的代码时,我期望b1
和b2
是相等的,然而,b2
是加倍的。难道我做错了什么?这是数据库中的错误吗?我们在跑Oracle 12c
(12.2.0.1.0)
。
结果:
oracle - 想在oracle存储过程中找到非连续数的起点和终点
假设主表是
现在我想要第二个结果表中 ID 的开始和结束位置,其中 usage_flag 为空
喜欢
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也是如此。
我怎样才能做到这一点?
抱歉我的英语不好;)。
非常感谢您!
snowflake-cloud-data-platform - Snowflake 中的 Match_Recognize 没有返回我认为它应该返回的内容
我确定我不理解这一点,但这被定义为
PATTERN:指定要匹配的模式 PATTERN ( ) 模式定义了表示匹配的有效行序列。该模式的定义类似于正则表达式 (regex),由符号、运算符和量词构成。
一个例子是:
例如,假设符号 S1 定义为 stock_price < 55,符号 S2 定义为股票价格 > 55。以下模式指定股票价格从小于 55 增加到大于 55 的行序列:
模式(S1 S2)
所以如果我这样做
然后我做
为什么我没有得到“andrew”作为创纪录的回报?如果我将任一测试放入模式中,它确实会显示出来。当我把两个都放进去时,它没有。相反,它显示 3andrew 和 andrew2 作为记录结果,这对我来说是出乎意料的,因为这个例子让我相信它就像 AND 一样工作。任何帮助表示赞赏。
apache-flink - flink SQL 不支持嵌套的 match_recognize 查询?
我正在使用 flink 1.11 并尝试使用 match_recognize 的嵌套查询,如下所示:
我收到一个错误:org.apache.calcite.sql.validate.SqlValidatorException: Table 'A' not found
这不支持吗?如果不是还有什么选择?