写点什么

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

  • 2014-11-18
  • 本文字数:823 字

    阅读完需:约 3 分钟

近日, 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-11-18 00:282581
用户头像

发布了 92 篇内容, 共 46.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

Go- switch-case结构

HelloBug

Go 语言 switch case

再也不怕 JavaScript 报错了,怎么看怎么处理都在这

前端依依

学习 技术 大前端 js

☕【Java技术指南】「编译器专题」重塑认识Java编译器的执行过程(常量优化机制)!

洛神灬殇

Java 编译器 技术栈 8月日更

Alibaba史上最牛的分布式核心原理解析全彩手册开源!称霸GitHub

Java~~~

Java 架构 面试 分布式 微服务

云与AI真的能互相成就?还是最好各自独立行走?

脑极体

阿里巴巴最新产物!Spring+SpringBoot+SpringCloud Alibaba全系列高阶笔记

Java spring 程序员 架构 后端

Go- 函数返回值

HelloBug

函数 返回值 Go 语言

docker概念很乱?俺来替你理一下!

Java Docker 架构 后端

Go- goto和label

HelloBug

Go 语言 goto label

重构你的css吧!(初看)

云小梦

CSS bem elementUI scss ITCSS

阿里新产!Spring+SpringBoot+SpringCloud Alibaba全系列高阶笔记

Java~~~

Java spring 架构 面试 Spring Cloud

跨团队项目的集成测试实践分享

PingCode研发中心

软件测试 测试

Go- for循环

HelloBug

for Go 语言

Go- break和continue

HelloBug

Go 语言 break continue

适女化科技(一):伪需求,真消费

脑极体

暴力美学,拒绝平庸,Alibab开源内部神仙级“K8S核心笔记”下载

Java~~~

Java 架构 面试 微服务 k8s

Socket 通信原理

一个大红包

8月日更

程序员作图工具和技巧,你 get 了么?

程序员鱼皮

Java 大前端 后端 架构设计 代码

【漏洞分析】远程命令执行漏洞总结

网络安全学海

网络安全 信息安全 网络 渗透测试 安全漏洞

获取 NodeJS 程序退出码

编程三昧

node.js Node 8月日更

教你一招疯狂拿Offer!用微服务设计一个超大型分布式电商平台

Java~~~

Java 架构 面试 Spring Cloud 架构师

小说类公众号如何运营:先要满足特定读者人群

石头IT视角

不少同学想要放弃秋招了........

今晚早点睡

程序员 秋招

干货!DataPipeline2021数据管理与创新大会全篇划重点

DataPipeline数见科技

大数据 数据融合 数据管理

火爆 GitHub!这个图像分割神器开源了

百度开发者中心

人工智能 开源 最佳实践 图像

Vue进阶(五十九):ES数组操作:splice() 实现数组删除、替换、增加指定元素

No Silver Bullet

Vue 8月日更 splice

半监督学习概述(二)

Databri_AI

学习 深度半监督

项目进度经常超时怎么办?项目经理如何有效管理项目进度?

优秀

项目管理工具

Python代码阅读(第16篇):列表求差集

Felix

Python 编程 Code Programing 阅读代码

最好用的 Angular 甘特图组件 ngx-gantt

PingCode研发中心

软件 工具 甘特图 ngx-gantt

Agora 教程丨一个典型案例,教你如何使用水晶球“数据洞察”

声网

Agora 教程 水晶球

Cubert:LinkedIn开源的大数据计算引擎_大数据_李士窑_InfoQ精选文章