YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- 全文搜索
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
流计算引擎
-
灾难恢复
-
系统配置参数
- 使用说明(必读)
- 参数目录
- 文件位置参数
- 连接与认证参数
- 客户端连接默认值参数
- 错误报告和日志参数
- 资源消耗参数
- 查询调优参数
- 运行中的统计信息参数
- 自动清理参数
- 数据表参数
- 锁管理参数
- 资源管理参数
- YMatrix 数据库集群参数
- 预写式日志参数
- 复制参数
- PL/JAVA 参数
- 版本和平台兼容性参数
-
索引
-
扩展
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_STREAM
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
常见问题(FAQ)
CREATE STREAM
定义一个流。
概要
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
- AS 语句块以 SQL 的形式定义流的计算逻辑。
-
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
- 表示创建流的时候,是否要对源表的历史数据做处理。[NO] 代表不处理。
-
USING MARS3
- 默认创建为 HEAP 表,可使用该语句指定创建为 MARS3 表。
-
WITH ( storage_parameter [= value] [, ... ] )
- 可参考 CREATE_TABLE 部分进行使用。
-
DISTRIBUTED BY ( [column_name [, ...] ] )
- 用于声明表的 YMatrix 数据库分布策略。
示例
创建一个基础的流。
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);
更多请参考 流计算功能示例