morrySnow commented on code in PR #706: URL: https://github.com/apache/doris-website/pull/706#discussion_r1628752836
########## i18n/zh-CN/docusaurus-plugin-content-docs/current/query/view-materialized-view/async-materialized-view.md: ########## @@ -238,8 +376,284 @@ PROPERTIES ( AS SELECT * FROM t1; ``` -时间又过了一天,当前时间为 2024-03-29 xx:xx:xx,`t1`新增一个分区 [("2024-03-29"),("2024-03-30")),如果此时刷新物化视图,刷新完成后,物化视图会仅有一个分区 [("2024-03-29"),("2024-03-30")) +如果时间又过了一天,当前时间为 2024-03-29 xx:xx:xx,t1新增一个分区 [("2024-03-29"),("2024-03-30")),如果此时刷新物化视图,刷新完成后,物化视图会仅有一个分区 [("2024-03-29"),("2024-03-30")) + +如果分区字段是字符串类型,可以设置物化视图属性'partition_date_format',例如'%Y-%m-%d' +#### 分区上卷 +注意:2.1.3开始支持 + +基表的数据经过聚合后,每个分区的数据可能变的很少,这种情况下,可以使用分区上卷,减少物化视图的分区数量。 + +##### list分区 +注:hive分区对应doris的list分区 + +如果基表建表语句如下 +```sql +CREATE TABLE `t1` ( + `k1` INT NOT NULL, + `k2` DATE NOT NULL +) ENGINE=OLAP +DUPLICATE KEY(`k1`) +COMMENT 'OLAP' +PARTITION BY list(`k2`) +( +PARTITION p_20200101 VALUES IN ("2020-01-01"), +PARTITION p_20200102 VALUES IN ("2020-01-02"), +PARTITION p_20200201 VALUES IN ("2020-02-01") +) +DISTRIBUTED BY HASH(`k1`) BUCKETS 2 +PROPERTIES ('replication_num' = '1') ; +``` +如果物化视图创建语句如下,那么物化视图有两个分区: +- ("2020-01-01","2020-01-02") +- ("2020-02-01") +```sql +CREATE MATERIALIZED VIEW mv1 + BUILD DEFERRED REFRESH AUTO ON MANUAL + partition by (date_trunc(`k2`,'month')) + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1' + ) + AS + SELECT * FROM t1; +``` +如果如果物化视图创建语句如下,那么物化视图有一个分区: +- ("2020-01-01","2020-01-02","2020-02-01") +```sql +CREATE MATERIALIZED VIEW mv1 + BUILD DEFERRED REFRESH AUTO ON MANUAL + partition by (date_trunc(`k2`,'year')) + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1' + ) + AS + SELECT * FROM t1; +``` +##### range分区 +如果基表建表语句如下 +```sql +CREATE TABLE `t1` ( + `k1` LARGEINT NOT NULL, + `k2` DATE NOT NULL +) ENGINE=OLAP +DUPLICATE KEY(`k1`) +COMMENT 'OLAP' +PARTITION BY range(`k2`) +( +PARTITION p_20200101 VALUES [("2020-01-01"),("2020-01-02")), +PARTITION p_20200102 VALUES [("2020-01-02"),("2020-01-03")), +PARTITION p_20200201 VALUES [("2020-02-01"),("2020-02-02")) +) +DISTRIBUTED BY HASH(`k1`) BUCKETS 2 +PROPERTIES ('replication_num' = '1') ; +``` +如果物化视图创建语句如下,那么物化视图有两个分区: +- [("2020-01-01","2020-02-01")) +- [("2020-02-01","2020-03-01")) +```sql +CREATE MATERIALIZED VIEW mv1 + BUILD DEFERRED REFRESH AUTO ON MANUAL + partition by (date_trunc(`k2`,'month')) + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1' + ) + AS + SELECT * FROM t1; +``` +如果物化视图创建语句如下,那么物化视图有一个分区: +- [("2020-01-01","2021-01-01")) +```sql +CREATE MATERIALIZED VIEW mv1 + BUILD DEFERRED REFRESH AUTO ON MANUAL + partition by (date_trunc(`k2`,'year')) + DISTRIBUTED BY RANDOM BUCKETS 2 + PROPERTIES ( + 'replication_num' = '1' + ) + AS + SELECT * FROM t1; +``` +如果分区字段是字符串类型,可以设置物化视图属性'partition_date_format',例如'%Y-%m-%d' Review Comment: 去掉这句话?加上说,分区是字符串时,上卷的方式还在设计中。现在的行为有可能变动,最好不要使用 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@doris.apache.org For additional commands, e-mail: dev-h...@doris.apache.org