400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
400-800-0824
info@ymatrix.cn
YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
工具指南
数据类型
存储引擎
执行引擎
流计算引擎
灾难恢复
系统配置参数
索引
扩展
SQL 参考
常见问题(FAQ)
定义一个流。
CREATE STREAM [IF NOT EXISTS] stream_name [ (column_name [, ...] ) ]
AS(
SELECT [ { * | expression [ [ AS ] output_name ] } [, ...] ]
FROM STREAMING { ALL | INSERT |UPDATE | DELETE } table_name
[ WHERE condition ]
[ join_type ]
[ GROUP BY grouping_element [, ...] ]
[ WITH [ NO ] DATA ]
)
[ USING MARS3 ]
[ WITH ( storage_parameter [= value] [, ... ] ) ]
[ DISTRIBUTED BY ( [column_name [, ...] ] ) ]
CREATE STREAM 声明一个流的定义,在数据库内部定义内部管理函数。
stream_name [ (column_name [, ...] ) ]
stream_name
:流表。若作为流的末端,存储流的计算结果。 (column_name [, ...] )
:字段映射,可省略。省略时默认使用 AS 语句块中 SELECT 部分列举的字段信息。AS
SELECT [ { * | expression [ [ AS ] output_name ] } [, ...] ]
FROM STREAMING { ALL | INSERT |UPDATE | DELETE } table_name
FROM STREAMING
声明以流的方式从源表增量订阅数据,对应的数据库内部会启动一组进程监测该表上的数据变化。ALL | INSERT |UPDATE | DELETE
选择流从源表的订阅方式即监测源表的某种类型数据变化。ALL
为监控源表种数据的插入、更新和删除变化;INSERT
为监控源表的插入变化;UPDATE
为监控源表的更新操作;DELETE
为监控源表的删除操作。table_name
流的源表(上游表)。join_type
[ INNER ] JOIN
操作, LEFT [OUTER] JOIN
、RIGHT [OUTER] JOIN
等 [OUTER] JOIN
操作将在后续版本中更新。WITH [NO] DATA
USING MARS3
WITH ( storage_parameter [= value] [, ... ] )
DISTRIBUTED BY ( [column_name [, ...] ] )
创建一个基础的流。
CREATE STREAM s1(id, c1, ts, arrive_s1)
AS (
SELECT *, clock_timestamp()
FROM STREAMING t1
WITH NO DATA
)
DISTRIBUTED BY (id);
创建一个使用 MARS3 引擎和指定数据压缩类型和级别的流。
CREATE STREAM s4(id, c1, ts, arrive_s4)
AS (
SELECT *, clock_timestamp()
FROM STREAMING t4
WITH NO DATA
)
USING mars3
WITH (compresstype='zstd', compresslevel=1)
DISTRIBUTED BY (id, arrive_s4);
更多请参考 流计算功能示例