一、Segment管理
### --- Segment管理
~~~ 增量构建的Cube每天都可能会有新的增量,
~~~ 这样的Cube中最终可能包含很多 Segment,这将导致Kylin性能受到严重影响。
~~~ 从执行引擎的角度来说,运行时的查询引擎需要聚合多个Segment的结果才能返回正确的查询结果
~~~ 从存储引擎的角度来说,大量的Segment会带来大量的文件,给存储空间带来巨大的压力
### --- 需要采取措施控制 Cube 中 Segment 的数量。
~~~ 为了保持查询性能,需要:
~~~ 需要定期地将某些Segment合并在一起
~~~ 根据 Segment 保留策略自动地淘汰那些不会再被查询到的陈旧Segment
二、手动触发合并Segment
### --- 手动触发合并Segment
~~~ Kylin提供了一种简单的机制用于控制Cube中Segment的数量:合并Segments。
~~~ 在Web GUI中选中需要进行Segments合并的Cube。
三、操作步骤:
### --- 操作步骤:
~~~ 单击Action→Merge
![](https://i-blog.csdnimg.cn/blog_migrate/a84573f6059bfdfdc2d6c59065207435.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8fc6e40e00d49585a5c244e011d8e4f1.png)
### --- 合并segement
~~~ 选中需要合并的Segment,可以同时合并多个Segment,
~~~ 但这些Segment必须是连续的单击提交后系统会提交一个类型为“MERGE”的构建任务,
~~~ 它以选中的Segment中的数据作为输入,
~~~ 将这些Segment的数据合并封装成为一个新的Segment。
~~~ 新的Segment的起始时间为选中的最早的Segment的起始时间,
~~~ 它的结束时间为选中的最晚的Segment的结束时间。
### --- 查看合并任务:cube
### --- 查看手动合并的cube对应的segment
![](https://i-blog.csdnimg.cn/blog_migrate/65027650ed8fe222aa4af425e52a95de.png)
![](https://i-blog.csdnimg.cn/blog_migrate/76b13901d8d5ffa099f1ea206a2c30a0.png)
### --- 注意事项
~~~ 在MERGE构建结束之前,所有选中用来合并的Segment仍然处于可用的状态
~~~ 在MERGE类型的构建完成之前,系统将不允许提交这个Cube上任何类型的其他构建任务
~~~ 当MERGE构建结束的时候,系统将选中合并的Segment替换为新的Segment,
~~~ 而被替换下的Segment等待将被垃圾回收和清理,以节省系统资源
四、删除Segment:使用WebUI删除Cube的segment:
### --- 删除Segment:使用WebUI删除Cube的segment:
~~~ disable Cube
~~~ 点击delete Segment,删除指定的segment
![](https://i-blog.csdnimg.cn/blog_migrate/8cea6f3df416b08f689b2a0cea3b66be.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b6a50d6d62473d13998dac925185a4dc.png)
![](https://i-blog.csdnimg.cn/blog_migrate/256db6e9ee8003e557e31226a200c8c7.png)