BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Cubert:LinkedIn开源的大数据计算引擎

| 作者 李士窑 关注 0 他的粉丝 发布于 2014年11月19日. 估计阅读时间: 2 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

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

Cubert整个架构可分为三层,第一层是数据流语言层,主要用来实现执行计划,包括Apache PigApache 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)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT