Apache Kylin权威指南2.5 查询Cube

    xiaoxiao2023-12-26  21

    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 查询结果展示

    相关资源:Apache Kylin权威指南【完整高清版】
    最新回复(0)