1.Kylin集成Spark、Flink
查看官网:http://kylin.apache.org/docs/tutorial/cube_spark.html
2.增量构建
每次构建Cube都会从Hive中批量读取数据,而对于大多数业务场景来说,Hive中的数据处于不断增长的状态。为了使Cube中的数据能够不断更新,且无须重复地为已经处理过的历史数据构建Cube,Apache Kylin引入了增量构建功能。
Apache Kylin中将Cube划分为多个Segment,Segment代表一段时间内源数据的预计算结果,每个Segment都用起始时间和结束时间标记。在大部分情况下,一个Segment的起始时间等于它前面的Segment的结束时间,同理,它的结束时间等于它后面的Segment的起始时间。同一个Cube下不同的Segment除了背后的源数据不同,其他如结构定义、构建过程、优化方法、存储方式等完全相同。
2.1.为什么要增量构建
全量构建可以看作增量构建的一种特例:在全量构建中,Cube中只存在唯一的一个Segment,该Segment没有分割时间的概念,因此也就没有起始时间和结束时间。全量构建和增量构建各有适用的场景,用户可以根据自己的业务场景灵活切换。全量构建和增量构建的详细对比如下所示:
| 全量构建 | 增量构建 |
|---|---|
| 每次更新都需要更新整个数据集 | 每次更新只对需要更新的时间范围进行更新,离线计算量相对较小 |
| 查询 |

Apache Kylin支持集成Spark和Flink,提供增量构建功能以应对Hive数据不断增长的情况。增量构建通过划分Segment,仅处理新数据,减少重复计算。创建增量Cube需设定分割时间列,如日期分区字段。触发增量构建可通过WebGUI或RESTAPI,管理Cube碎片则涉及Segment的合并和自动管理策略。自动合并可通过设置AutoMergeThresholds、VolatileRange和RetentionThreshold来控制。
最低0.47元/天 解锁文章
840

被折叠的 条评论
为什么被折叠?



