你好,游客 登录
背景:
阅读新闻

大数据分析利器,LinkedIn开源计算引擎Cubert

[日期:2014-12-24] 来源:InfoQ中文站  作者:崔康 [字体: ]

近日, Linkedin 宣布开源其正在使用的大数据计算引擎 Cubert ,该框架提供了一种新的数据模型来组织数据,并使用诸如MeshJoin 和Cube算法等算法来对组织后的数据进行计算,从而减轻了系统负荷和节省了CPU资源,最终提供给用户一个简单、高效的查询。Cubert比较适合的计 算领域包括统计计算、聚合、时间距离计算、增量计算、图形计算等。

Cubert整个架构可分为三层,第一层是数据流语言层,主要用来实现执行计划,包括 Apache Pig 、 Apache Hive 以及Cubert Script;中间层是执行计划的分布式引擎层,包括Map-Reduce、Tez和Spark以及各个算法实现;最底层是数据存储层,Cubert根据 数据模型以数据分区的形式组织和存储,且数据分区由HDFS提供的文件系统管理。Cubert 架构如下图所示:

LinkedIn把Cubert作为一个关键组件来处理数据,其中 Kafka 负责实时消息传递给hadoop,Hadoop负责数据的存储,Cubert负责处理数据,处理后数据流向 Pinot 进行实时分析。数据流向图如下所示:

另外,LinkedIn还为Cubert创建了一门新语言Cubert Script,该语言为不同的Job明确定义了Mapper、Reducer和Combiner等操作,其目的是使得开发人员无需做任何形式的自定义编码 就能够轻松地使用Cubert。Cubert还提供了一套丰富的数据处理的操作,包括输入/输出操作(如LOAD、STORE、TEE等)、转换操作(如 FROM、GENERATE、FILTER等)、聚合操作(如GROUP BY、CUBE)、数据移动操作(如SHUFFLE、BLOCKGEN、COMBINE等)、字典操作等。接下来Cubert还将实现Tez 执行引擎、Cubert Script v2、增量计算、用于分析的窗函数等。Cubert遵循 Apache License Version 2.0 开源协议发布,读者朋友们如果想尝试或者研究Cubert的话,您可以参考Cubert 使用指导和Javadoc 。

感谢崔康对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款