-- 创建CATALOG
CREATE CATALOG `FLINK_CATALOG` WITH('type' = 'generic_in_memory');
-- 创建DATABASE
CREATE DATABASE IF NOT EXISTS `FLINK_CATALOG`.`FLINK_DATABASE`;
-- 引用数据表: [源表]
-- type: kafka
-- datasourceName: engine_kafka_70
-- tableName: kcep
CREATE TABLE IF NOT EXISTS `FLINK_CATALOG`.`FLINK_DATABASE`.`kcep` (
`symbol` STRING
,`price` BIGINT
,`tax` BIGINT
,`rowtime` TIMESTAMP(3)
,WATERMARK FOR rowtime AS rowtime
) WITH (
'connector' = 'kafka',
'topic' = 'kcep',
'properties.bootstrap.servers' = 'xxxx:9092',
'properties.group.id' = '6e02688c-0dc3-40b7-8c9e-643cb87f7a66',
'scan.startup.mode' = 'latest-offset',
'topicId' = '1832974242631647267',
'format' = 'json'
);
SELECT *
FROM `FLINK_CATALOG`.`FLINK_DATABASE`.`kcep` MATCH_RECOGNIZE (
ORDER BY rowtime
MEASURES
A.price AS aprice,
B.price AS bprice,
A.rowtime AS atime,
B.rowtime AS btime
PATTERN (A B) WITHIN INTERVAL '2' MINUTES
DEFINE
A AS symbol = '男',
B AS symbol = '女'
) AS T
示例数据格式:
message:{"symbol":"男","rowtime":"2024-09-09 11:20:24","price":1,"tax":2}
示例结果格式:
参阅: