Kylin构建参数优化之全局字典dict和快照表table_snapshot

1. 全局字典dict

1.1 全局字典介绍

精确去重,会使用bit map方法。对于整型数据,可以将这些整数直接保存到bit map中。但其他类型,如String,为了实现精确的重复数据删除,首先需要对这些数据建立一个字典进行统一映射,然后使用bit map方法进行统计

1.2 Kylin全局字典的生成原理

  1. 每个构建任务都将生成一个新的全局字典,用版本号保存,旧的全局字典会逐渐删除
  2. 一个全局字典包含一个元数据文件和多个字典文件,每个字典文件称为一个 bucket
  3. 每个bucket被划分为两个映射(Map<Object, Long>),并将这两个映射组合成一个完整的映射关系

结构如下:

全局字典结构

1.3 全局字典调优参数

kylin.dictionary.globalV2-threshold-bucket-size (默认值500000):如果CPU资源充足,减少此配置的值可以减少单个分区中的数据量,从而加快构建全局字典

1.4 全局字典的使用

在Cube Designer的Measures中,进行精确去重计数度量的添加,如下所示,进行薪水的总类统计

全局字典使用这样每一次cube的构建,都会产生一份全局字典

1.5 查看HDFS的dict文件

查看HDFS,如下所示:
HDFS的dict文件

2. 快照表table_snapshot

每一张快照表对应一个Hive维度表,Kylin的cube每次构建都会对hive维度表创建一个新的快照

主要有2个参数来调优,如下表所示:

参数名默认值说明
kylin.snapshot.parallel-build-enabledtrue是否开启并行构建,建议开启
kylin.snapshot.shard-size-mb128MB如果CPU资源充足,可以减少值来增
加并行度。并行度 = 原表数据量 / 该参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值