CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划( 二 )

  • 在进行增量构建时 , 将增量部分的起始时间和结束时间作为增量构建请求的一部分提交给 Kylin 的任务引擎
  • 任务引擎会根据起始时间和结束时间从 Hive 中抽取相应时间的数据 , 并对这部分数据做预计算处理
  • 将预计算的结果封装成为一个新的 Segment, 并将相应的信息保存到元数据和存储引擎中 。 一般来说 , 增量部分的起始时间等于 Cube 中最后一个 Segment 的结束时间 。
增量Cube的创建创建增量 Cube 的过程和创建普通 Cube 的过程基本类似 , 只是增量 Cube 会有一些额外的配置要求 。 1、配置 Model增量构建的 Cube 需要指定分割时间列 。 例如:将日期分区字段添加到维度列中CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划
本文插图
2、 设置日期范围创建 Cube 结束后 , 在 build 时设置计算数据的日期 。 CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划
本文插图
注意事项注意构建 Cube 时 , 选择的分区时间为 , 起始时间(包含)、结束时间(不保存) , 对应了从 Hive 从获取数据源的条件 。 3、查看Segment第一天同步成功CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划
本文插图
接着我们想再计算下一个日期的数据:CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划
本文插图
第二天同步成功CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划
本文插图
根据层量同步方案 , 得出一个结论:每天生成一个 Segment , 一年就有365个 Segment。 当用户查询时 , 系统不知道数据在哪个 Segment 中 , 所以需要扫描所有的 Segment(扫描356个表) , 扫描多个表/多个 Segment 会降低数据查询效率 。 【增量方案带来的问题】补充:文件越多效率越慢 。
  • 【CSDN|原来 Kylin 的增量构建,大有学问! | 原力计划】1个文件10G和10000个文件共10G 读取一个文件更快(寻址开销、频繁发开关闭)
  • 一个文件夹内的文件特别多 , 这个文件夹打开的时间就会特别长 。
  • 当系统越来越慢 , 越来越慢 , 越来越慢 , 越来越慢,有可能是某一个目录中的数据没有及时的清空或删除 。
总结本篇文章为大家介绍了 Kylin 的增量构建与全量构建的差异与适用场景分析 , 并为演示了如何进行 Kylin 的增量构建 。 在文末的时候已经提到 , 增量构建会导致 Segment 文件越来越多 , 最终影响到系统的性能 。 版权声明:本文为CSDN博主「Alice菌」的原创文章 , 遵循CC 4.0 BY-SA版权协议 , 转载请附上原文出处链接及本声明 。


推荐阅读