没有合适的资源?快使用搜索试试~ 我知道了~
假设我们有1个月30天的数据,共23个data segment数据片段,如:[2015-11-01,2015-11-02), [2015-11-02,2015-
资源详情
资源评论
资源推荐
Apache Kylin 对于 Cube 的最小存储单位为 data segment,类似于 Hive 的 partition,data
segment 采用左闭右开区间表示,如[2015-11-01,2015-11-02)表示含有 2015-11-01 这一天的
数据。对于 Cube 数据的管理主要基于 data segment 粒度,大致分为 3 种操作: 计算(build)、
更新(refresh)、合并(merge)。对于一个具体产品来说,它的数据是需要每天例行计算到 cube
中,正常例行下,每天会生成 1 个 data segment,但可能会因为数据仓库的任务延迟,2 天
或多天生成 1 个 segment。随着时间推移,一方面,大量的 data segment 严重影响了性能,
另一方面,这也给管理带来了困难和麻烦。因此,对于 1 个 cube,我们按照 1 个自然月为 1
个 data segment,清晰且易管理。
假设我们有 1 个月 30 天的数据,共 23 个 data segment 数据片段,如:[2015-11-01,
2015-11-02) , [2015-11-02 , 2015-11-04) , [2015-11-04 , 2015-11-11) , [2015-11-11 ,
2015-11-12), [2015-11-12,2015-11-13), 。。。[2015-11-30,2015-12-01)
问题 1: 假设因为数据有问题,需要回溯 2015-11-01 的数据,因为我们能够在 cube 中找到
[2015-11-01,2015-11-02)这样一个 data segment,满足这个时间区间,于是,我们可以直接
界面操作或者 Rest API 启动这个 data segment 的 refresh 更新操作。
问题 2: 假设我们需要回溯 2015-11-02 到 2015-11-03 的数据,同理,可以找到一个符合条件
的 data segment [2015-11-02,2015-11-04),然后 refresh 更新这个 data segment。
问题 3: 假设我们需要回溯 2015-11-01 到 2015-11-02 的数据,我们找不到直接满足时间区间
的 data segment 。 于 是 我 们 有 2 种 解 决 方 案 , 第 1 种 方 案 是 分 别 依 次 refresh 更 新
[2015-11-01,2015-11-02), [2015-11-02,2015-11-04)这 2 个 data segment 实现;第 2 种方
案是先合并(merge)[2015-11-01,2015-11-02), (2015-11-02,2015-11-04)这两个 data segment,
合并后得到[2015-11-01,2015-11-04)这样 1 个 data segment,然后我们再拉取新数据后执行
更新操作,即可满足需求。
问题 4: 假设我们需要刷新 2015-11-01~2015-11-30 这 1 个月的数据,需要将 23 个 data
segment 合并成[2015-11-01,2015-12-01)这 1 个 data segment,计 1 次操作。然后再执行 1
次更新操作,共 2 次操作即可完成需求
图像车间
- 粉丝: 24
- 资源: 298
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0