kylin—Refresh Setting详细剖析

在Kylin中,由于自动merge设置的Retention Threshold为30,导致Cube在merge过程中丢失了部分历史数据。当设置为0时,所有历史数据将被保留,符合业务需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:由于业务场景的需要数据,所以我的数据是从2017-01-01 00:00:00开始的,数据源是kafka。从下图可以看出,我的Cube分为三次去build,第一次是0-40595条,第二次是40595-55706条,第三次55706-62307,也就意味着我Cube中含有的records应该为62307条。之后奇怪事情发生了,因为我之前定义了auto merge ,所以在我build第三次的时候,刚好到了新的一周,Cube自动执行merge segments,但是它只merge了第二次和第三次的数据,第一次的4W+的数据没有合并,这也导致在merge之后原本6W多条的数据,最终只剩下2W余,第一次的数据全部丢失。归纳一下就是:Cube在自动merge之后丢失数据。

解决方法:因为由于出现问题的地方实在merge之后,于是回到配置页面,查看Refresh Setting的相关设置。这部分是用来设计增量Cube合并信息,默认为每隔7天就merge增量的segments(每一个segment逻辑对应着一个物理的cube),每个28天merge哪些前面7天合并的segments。官方提供了四个参数。

  1. Auto Merge Threshold:大鱼吃小鱼,小鱼吃虾米的故事。即自动合并小的segments到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值