Apache Kylin : Analytical Data Warehouse for Big Data
Page History
...
下图所示的是编号为1的桶多次构建任务中,桶内字典的传递,每一次构建都会为桶创建一个新的版本(即v1, v2, v3等),加入版本控制的原因后面会有解释。Curr(current)和Prev(Previous)是一个桶内的两个HashMap,分别存储着当前桶内字典的相对编码值和之前已经构建的所有字典值的绝对编码值。是一个桶内的两个HashMap,分别存储着当前桶内字典的相对(Relative)编码值和之前已经构建的所有字典值的绝对(Absolute)编码值。
构建步骤
- 通过 Spark 创建平表并获取需精确去重列的 distinct 值
- 根据确定去重后的字面值数量来确认分片数, 并且根据需求判断是否需要扩容
- 将数据分配(repartition)到多个分片(Partition)中,分别进行编码, 存储到各自的字典文件中
- 为当前构建任务分配版本号
- 保存字典文件和 metadata数据(桶数量和桶的 offset 值)
- 根据条件判断需要删除旧版本
...
Overview
Content Tools
ThemeBuilder
Apps