Apache Kylin : Analytical Data Warehouse for Big Data
Page History
...
- 根据字典数量确定桶是否需要扩容
- 已编码的字典值对扩容后的桶进行重新分配
- 读取之前最新版本的字典数据,并分配到各个桶中
- 将新的值分配到桶中
- 前一次构建的字典值不会改变
版本控制
因为构建任务可能会并发进行,所以全局字典构建加入了版本控制来。版本号是基于时间戳控制的,新的构建任务会使用最新的时间戳,并且会基于之前版本的字典数据继续编码。 字典在HDFS上按版本存储如下图所示。
// 请汝鹏补充为什么需要版本控制全局字典会通过给单词构建分配基于时间戳的版本号来进行隔离。加入版本控制的原因是构建任务可能会并发执行,而当前构建全局字典过程中的编码是不支持并发,通过版本控制,每一次编码都能够完整的读取之前构建好的全局字典,因为一个Cube的全局字典只有一份。字典在HDFS上按版本存储如下图所示。
常见疑问
- 为什么在一个BucketDIctionary需要使用两个Map?
- 会不会存在数据倾斜问题?
...
Overview
Content Tools
ThemeBuilder
Apps