Apache Kylin权威指南2.5 查询Cube
2.5 查询Cube
本节将简要介绍如何查询Cube。更多内容请参考后续的章节(如第5章)。
Cube构建好以后,状态变为“READY”,就可以进行查询了。Kylin的查询语言是标准SQL的SELECT语句,这是为了获得与大多数BI系统和工具无缝集成的可能性。通常的一个查询语句类似于如下的SQL:
SELECT DIM1, DIM2, …, MEASURE1, MEASURE2… FROM FACT_TABLE
INNER JOIN LOOKUP_1 ON FACT_TABLE.FK1 = LOOKUP_1.PK
INNER JOIN LOOKUP_2 ON FACT_TABLE.FK2 = LOOKUP_2.PK
WHERE FACT_TABLE.DIMN = ‘’ AND …
GROUP BY DIM1, DIM2…
需要了解的是,只有当查询的模式跟Cube定义相匹配的时候,Kylin才能够使用Cube的数据来完成查询。Group By的列和Where条件里的列,必须是在Dimension中定义的列,而SQL中的度量,应该跟Cube中定义的度量相一致。
在一个项目下,如果有多个基于同一模型的Cube,而且它们都满足查询对表、维度和度量的要求;那么,Kylin会挑选一个“最优的”Cube来进行查询;这是一种基于成本(cost)的选择,Cube的成本计算中包括多方面的因素,例如Cube的维度数、度量、数据模型的复杂度等。查询引擎将为每个Cube为完成此SQL估算一个成本值,然后选择成本最小的Cube来完成此查询。
如果查询是在Kylin的Web GUI上进行的,那么查询结果会以表的形式展现出来,如
图2-28所示。所执行的Cube名称也会一同显示。用户可以单击“Visualization”按钮生成简单的可视化图形,或单击“Export”按钮将结果集下载到本地。
图2-28 查询结果展示
相关文章
- javaweb-httpservlet中request获取请求数据
- javaweb-servlet中request请求转发
- Java jdbc-PreparedStatement防止sql注入
- OLTP,MPP和Hadoop
- Java web-httpservlet中session的用法
- JDBC中事务回滚
- 虹科分享|怎么做才可以保护你的数据隐私?
- 实战:第十七章:xlsx文件导入数据入库
- 部署Rust工程到阿里云函数计算FC
- 通用仓库元模型概述
- Flink开发-Hive数据导入HBase中
- 常见网络协议汇总(二)
- ETL工具选型 需要考虑哪些因素
- 实战:第十六章:判断Mysql库中是否存在某表
- 边缘计算推动医疗保健行业变革
- Kaka入门级教程
- 5G有哪些安全标准?
- “后红海”时代,大数据体系到底是什么?-下篇
- redis集群管理工具HHDBCS
- “后红海”时代,大数据体系到底是什么?-中篇