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

近日, 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 。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值