首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache Kylin容错

Apache Kylin容错
EN

Stack Overflow用户
提问于 2015-03-16 00:10:38
回答 2查看 821关注 0票数 1

Apache Kylin看起来是一个很棒的工具,可以满足很多数据科学家的需求。这也是一个非常复杂的系统。我们正在开发一个具有完全相同目标的内部解决方案,即具有低查询延迟的多维OLAP多维数据集。在众多问题中,我现在最关心的是容错。对于大量传入的事务数据,多维数据集必须以增量方式更新,并且一些立方体需要在很长一段时间内进行更新,例如那些具有按年为尺度的时间维值的立方体。在如此长的时间内,复杂系统的某些部分肯定会失败,系统如何确保所有原始事务记录恰好聚合到立方体中一次,而不是更多,也不是更少?即使每个棋子都有自己的容错机制,这并不意味着它们会自动一起玩。为了简单起见,我们可以假设所有输入数据都是由另一个进程保存在HDFS中的,并且可以以任何您想要的方式“回放”,以从任何中断中恢复,无论是自愿的还是强制的。Kylin的容错考虑因素是什么,或者这不是一个真正的问题?

EN

回答 2

Stack Overflow用户

发布于 2015-03-30 13:19:01

有数据故障和系统故障。

数据容错:Kylin将多维数据集划分为多个段,并允许在不影响整个多维数据集的情况下重建单个段。例如,假设一个新的每日分段是以每天为基础构建的,并在周末合并为每周分段;每周分段合并为每月分段,依此类推。当一周内出现数据错误(或其他任何变化)时,您只需要重建一天的段。再往后更改数据将需要重新构建每周或每月的数据段。

分段策略是完全可定制的,因此您可以平衡数据容错和查询性能。更多的段意味着对数据更改的容忍度更高,但也意味着要为每个查询执行更多的扫描。Kylin提供了RESTful接口,外部调度系统可以调用该接口来触发分段构建和合并。

多维数据集仍处于联机状态,并且可以在其某些段正在重建时提供查询服务。

系统容错:Kylin依赖Hadoop和HBase来实现大部分系统冗余和容错。除此之外,Kylin中的每一个构建步骤都是幂等的。这意味着您可以安全地重试失败的步骤,而不会产生任何副作用。这确保了最终的正确性,无论构建过程已经经历了多少次失败和重试。

(我也是Apache Kylin的联合创建者和提交者。:-)

票数 2
EN

Stack Overflow用户

发布于 2015-03-25 09:40:30

注:我是Apache Kylin的联合创建者和提交者。

容错点确实是一个很好的容错点,在某些情况下,当它们有非常大的数据集时,我们实际上会问到容错点。从头开始重新计算将需要巨大的计算资源、网络流量和时间。

但从产品的角度来看,问题是:在精度结果和资源之间,哪一个更重要?对于交易数据,我认为确切的数字更重要,但对于行为数据,它应该是可以的,例如,distinct count值是现在Kylin中的近似结果。这取决于您将利用Kylin来满足业务需求的情况。

我会把这个想法放到我们的积压中,并将更新到Kylin开发邮件列表,如果我们以后有更明确的线索。

谢谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29062904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档