表格存储服务 CloudTable
表格存储服务 CloudTable
- 最新动态
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- HBase用户指南
- Doris用户指南
- ClickHouse用户指南
- 权限管理
- 审计日志
- 集群日志管理
- 最佳实践
- 开发指南
- API参考
- SDK参考
-
常见问题
-
通用类
- CloudTable集群能够提供什么服务?
- 为什么要选择CloudTable服务?
- 创建CloudTable HBase集群要准备什么?
- 使用CloudTable服务时需要关注什么?
- CloudTable HBase集群支持哪些压缩算法?
- 能停止CloudTable服务吗?
- CloudTable中的HBase外部接口支持哪些编程语言?
- 故障RegionServer个数怎么判断?
- CloudTable HBase支持的特殊符号?
- CloudTable数据进行删除,导致索引表和数据表不对应查询异常处理办法?
- python通过thrift访问cloudtable,多个任务并行缓慢
- 如何查看HBase shell的TTL属性?
- 服务器资源为什么会被释放?
- 资源停止服务或逾期释放说明
- 哪些场景会影响数据均衡?
- 如何调整数据均衡的灵敏度,调整后有哪些影响?
- Doris集群回收站数据处理
- 连接访问类
- 数据读写类
- 数据导入
- 网络配置
- 计费类
-
通用类
- 文档下载
- 通用参考
本文导读
展开导读
链接复制成功!
CREATE MATERIALIZED VIEW
本章节介绍如何在ClickHouse中创建物化视图。
创建物化视图
CREATE MATERIALIZED VIEW [IF NOT EXISTS] [db.]Materialized_name [TO[db.]name] [ON CLUSTERClickHouse集群名] ENGINE = engine_name() ORDER BY expr [POPULATE] AS SELECT ...
参数 |
说明 |
---|---|
db |
数据库的名称,默认为当前选择的数据库。 |
Materialized_name |
物化视图名。 |
TO[db.]name |
将物化视图的数据写入到新表中。 |
[ON CLUSTERClickHouse集群名] |
在每一个节点上都创建一个物化视图,固定为ON CLUSTER ClickHouse集群名。 |
ENGINE = engine_name() |
表引擎类型。 |
[POPULATE] |
POPULATE关键字。如果创建物化视图时指定了POPULATE关键字,则在创建时将SELECT子句所指定的源表数据插入到物化视图中。不指定POPULATE关键字时,物化视图只会包含在物化视图创建后新写入源表的数据。 一般不推荐使用POPULATE关键字,因为在物化视图创建期间写入源表的数据将不会写入物化视图中。 |
SELECT ... |
SELECT子句。当数据写入物化视图中SELECT子句所指定的源表时,插入的数据会通过SELECT子句查询进行转换并将最终结果插入到物化视图中。 SELECT查询可以包含DISTINCT、GROUP BY、ORDER BY和LIMIT等,但是相应的转换是在每个插入数据块上独立执行的。 |
示例:
- 创建源表。
create table DB.table1 ON CLUSTER default_cluster (id Int16,name String) ENGINE = MergeTree() ORDER BY (id);
- 插入数据。
insert into DB.table1 values(1,'X'),(2,'Y'),(3,'Z');
- 创建基于源表的物化视图。
CREATE MATERIALIZED VIEW demo_view ON CLUSTER default_cluster ENGINE = MergeTree() ORDER BY (id) AS SELECT * FROM DB.table1;
- 查询物化视图。
SELECT * FROM demo_view;
说明:
查询数据为空,说明未指定POPULATE关键字时,查询不到物化视图创建前写入源表的数据。
- DB.table1表中插如数据。
insert into demo_view values(4,'x'),(5,'y'),(6,'z');
- 查询物化视图。
SELECT * FROM demo_view;
查询结果。
┌─id─┬─name─┐ │ 4 │ x │ │ 5 │ y │ │ 6 │ z │ └────┴──────┘
父主题: SQL语法参考