|NO.Z.00012|——————————|BigDataEnd|——|Hadoop&OLAP_Kylin.V12|——|Kylin.v12|Kylin构建Cube|Segment管理|自动触发合并|
一、自动触发合并segment
### --- 自动触发合并segment
~~~ 手动维护Segment很繁琐,人工成本很高,Kylin中是可以支持自动合并Segment。
~~~ 在Cube Designer的“Refresh Settings”的页面中有:
~~~ Auto Merge Thresholds
~~~ Retention Threshold
二、自动触发合并segment配置
### --- 自动触发合并segment配置
~~~ 配置自动触发条件
~~~ Refresh Settings的页面


### --- 配置说明
~~~ 两个设置项可以用来帮助管理Segment碎片。
~~~ 这两项设置搭配使用这两项设置可以大大减少对Segment进行管理的麻烦。
~~~ # Auto Merge Thresholds
~~~ 允许用户设置几个层级的时间阈值,层级越靠后,时间阈值就越大
~~~ 每当Cube中有新的Segment状态变为 READY 的时候,会自动触发一次系统自动合并
~~~ # 合并策略
~~~ 尝试最大一级的时间阈值。
~~~ 例如:针对(7天、28天)层级的日志,
~~~ 先检查能否将连续的若干个Segment合并成为一个超过28天的大Segment
~~~ 如果有个别的Segment的时间长度本身已经超过28天,系统会跳过Segment
~~~ 如果满足条件的连续Segment还不能够累积超过28天,
~~~ 那么系统会使用下一个层级的时间阈值重复寻找
三、案例一:理解 Kylin 自动合并策略
### --- 理解kylin自动合并策略
~~~ 假设自动合并阈值设置为7天、28天
~~~ 如果现在有A-H 8个连续的Segment,它们的时间长度
~~~ 为28天(A)、7天(B)、1天(C)、1天(D)、1天(E)、1天(F)、1天(G)、1天(H)
~~~ 此时,第9个Segment I加入,时间长度为1天
### --- 自动合并策略为:
~~~ Kylin判断时候能将连续的Segment合并到28天这个阈值,由于Segment A已经超过28天,会被排除
~~~ 剩下的连续Segment,
~~~ 所有时间加一起 B + C + D + E + F + G + H + I (7 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 14 < 28天,
~~~ 无法满足28天阈值,开始尝试7天阈值
~~~ 跳过A(28)、B(7)均超过7天,排除剩下的连续Segment,
~~~ 所有时间加一起 C + D + E + F + G + H + I(1 + 1 + 1 + 1 + 1 + 1 + 1 = 7)达到7天阈值,
~~~ 触发合并,提交Merge任务。并构建一个Segment X(7天)
~~~ 合并后,Segment为:A(28天)、B(7天)、X(7天)
~~~ 继续触发检查,A(28天)跳过,B + X(7 + 7 = 14)< 28天,
~~~ 不满足第一阈值,重新使用第二阈值触发
~~~ 跳过B、X,尝试终止
四、案例二:配置自动合并4天的Segment
### --- 配置自动合并4天的Segment
~~~ # 配置自动合并阈值为(4、28)

~~~ # 分别按照天构建分区第四天Cube
~~~ 当前环境构建的第一个cube:2021-10-01 00:00:00~2021-10-02 00:00:00
~~~ 当前环境构建的第二个cube:2021-10-02 00:00:00~2021-10-03 00:00:00
~~~ 当前环境构建的第三个cube:2021-10-03 00:00:00~2021-10-04 00:00:00
~~~ 当前环境构建的第四个cube:2021-10-04 00:00:00~2021-10-05 00:00:00
~~~ 此刻构建第四个cube,当第四个cube构建完成后,会自动触发segment合并操作
~~~ # 第四个cube时间段:2021-10-04~2021-10-05
~~~ # 自动触发合并Segment构建(当第四个cube构建完成后会自动触发合并)
~~~ # 查看合并后segment的数量;根据cube的参数来确定segment,合并之后只有一个segment



Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv023-kylin
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」