Apache Kylin Cube优化方式 在Kylin高性能的背后,Cube是至关重要的核心,上篇有说到cube是所有dimession的组合,每一种dimession的组合称之为cuboid。有n个dimession的cube会有2^n个cuboid,一个优化得当的Cube既能满足高速查询的需要,又能节省集群资源,本文将会从Kylin Cube的设计方面来了解一下Cube的优化方案。 一:...
衍生维度在Cube中不参加预计算,事实上如果前往Cube Designer的Advanced Setting,在Aggregation Groups和Rowkeys部分也完全看不到这些衍生维度,甚至在这些地方也找不到维度表KYLIN_CAL_DT的主键,因为如前所述,Kylin实际上是用事实表上的外键作为这些衍生维度背后真正的有效维度的,在前面的例子中,事实表与KYLIN_CAL_DT通...
为了缓解 Cube 的构建压力,减少生成的 Cuboid 数目,Apache Kylin 引入了一系列的高级设置,帮助用户筛选出真正需要的 Cuboid。这些高级设置包括聚合组(Aggregation Group)、联合维度(Joint Dimension)、层级维度(Hierachy Dimension)和必要维度(Mandatory Dimension)等,本系列将深入讲解这些高级设置的含义及其适用的场景。
为了支持在构建Cube,无需重复处理历史数据,引入增量构建功能 Segment Kylin将Cube划分为多个Segment(对应就是HBase中的一个表) 一个Cube可能由1个或多个Segment组成,Segment是指定时间范围的Cube,可以理解为Cube的分区 Segment是针对源数据中的某个片段计算出来的Cube数据,代表一段时间内源数据的预计计算结果 每个Segmen...
Apache Kylin 安装 Apache Kylin 部署 Apache Kylin 集群模式 Cube 介绍 Apache Kylin 是一个开源的分布式分析引擎,专注于提供大数据的实时OLAP(在线分析处理)能力。Cube(立方体)是 Apache Kylin 的核心概念之一,通过预计算大规模数据的多维数据集合,加速复杂的 SQL 查询。下面详细介绍 Cube 的关键点: ...
需要被分析的数据必须先保存为Hive表的形式,然后Kylin才能从Hive中导入数据,创建Cube。Cube支持从Hive视图中构建,基于这个特点,可以将原始数据做一定的处理,如增加维度或者做一些预处理,生成相应的视图,基于视图来构建Cube。 2.维度表设计 维度的基数不宜过大 ...
案例1 – 提升Cube查询效率 背景:某智能硬件企业使用Apache Kylin作为大数据平台查询引擎,对查询性能有较高要求,希望提高查询效率。 数据: 9个维度,其中1个维度基数是千万级,1个维度基数是百万级,其他维度基数是10w以内 单月原始数据6亿条 优化方案: 数据清理:将时间戳字段转换成日期,降低维度的基数 ...
1、 Cube的物理模型 Cube物理模型 如上图所示,一个常用的3维立方体,包含:时间、地点、产品。假如data cell 中存放的是产量,则我们可以根据时间、地点、产品来确定产量,同时也可以根据时间、地点来确定所有产品的总产量等。 Apache Kylin就将所有(时间、地点、产品)的各种组合实现算出来,data cell 中存放度量,其中...
1、 Cube的物理模型 Cube物理模型 如上图所示,一个常用的3维立方体,包含:时间、地点、产品。假如data cell 中存放的是产量,则我们可以根据时间、地点、产品来确定产量,同时也可以根据时间、地点来确定所有产品的总产量等。 Apache Kylin就将所有(时间、地点、产品)的各种组合实现算出来,data cell 中存放度量,其中...
根据本系列的原理介绍,在Kylin的高级设置中,用户可以根据查询需求对Cube构建预计算的结果进行优化(剪枝),从而减少占用的存储空间。 而优化得当的Cube可以在占用尽量少的存储空间的同时提供极强的查询性能。 随着维度数目的增加,Cuboid 的数量会爆炸式地增长。为了缓解 Cube 的构建压力,Apache Kylin 引入了一系列的高级...