大数据分析——Apache Doris(四十)

191 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情

 演示

 创建物化视图
操作步骤说明
1首先你需要有一个Base表
 CREATE TABLE sales_records **(**id INT COMMENT "销售记录的id" **,**seller_id INT COMMENT "销售员的id" **,**store_id  INT COMMENT "门店的id" **,**sale_date DATE COMMENT "售卖时间" **,sale_amt BIGINT COMMENT "金额")**DISTRIBUTED BY HASH ( id )  BUCKETS 10 ;
2基于这个Base表的数据提交一个创建物化视图的任务
 CREATE MATERIALIZED VIEW mv_1 AS****SELECT seller_id , sale_date , SUM ( sale_amt )FROM sales_recordsGROUP BY seller_id , sale_date ;
 提交完创建物化视图的任务后,Doris就会异步在后台生成物化视图的数据,构建物化视图。在构建期间,用户依然可以正常的查询和导入新的数据。创建任务会自动处理当前的存量数据和所有新到达的增量数据,从而保持和Base表的数据一致性。用户无需担心一致性问题
3查询物化视图
 desc sales_records all ;****
 可以看到当前 sales_records表一共有一张物化视图:saller_amt,以及他们的表结构
 查询物化视图
操作步骤说明
1基于这个Base表的数据再次提交两个创建物化视图的任务
 CREATE MATERIALIZED VIEW mv_2 AS****SELECT store_id , sale_date , SUM ( sale_amt )FROM sales_recordsGROUP BY store_id , sale_date ;
 CREATE MATERIALIZED VIEW mv_3 AS****SELECT seller_id , SUM ( sale_amt )FROM sales_recordsGROUP BY seller_id ;
2查询物化视图****
 desc sales_records all ;****
 自动匹配

物化视图的自动匹配分为下面两个步骤:

  • 根据查询条件筛选出一个最优的物化视图:这一步的输入是所有候选物化视图表的元数据,根据查询的条件从候选集中输出最优的一个物化视图

  • 根据选出的物化视图对查询进行改写:这一步是结合上一步选择出的最优物化视图,进行查询的改写,最终达到直接查询物化视图的目的。

 SQL函数

  • 查看函数名:
show builtin functions in test_db ;

 数学函数

 abs(double a)

功能: 返回参数的绝对值

返回类型:double类型

使用说明:使用该函数需要确保函数的返回值是整数。