写点什么

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:282737
用户头像

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

关注

评论

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

为什么巨头都在布局SaaS生态?

ToB行业头条

SASS

MySQL-技术专题-性能优化—索引篇

码界西柚

医院HIS故障,险引发人命关天大危机,竟被程序员轻松解决!

Marilyn

深入分析软件快速开发平台与传统软件开发方案的优缺点

Marilyn

敏捷开发

用友政务表格技术应用开发实践:预算一体化产品核心功能搭建

葡萄城技术团队

SpreadJS 用友

TensorFlow 篇 | TensorFlow 2.x 基于 Keras 的模型保存及重建

Alex

tensorflow keras model save model restore tensorflow hub

架构师训练营 1 期第 4 周:系统架构 - 作业

piercebn

极客大学架构师训练营

阿里面试官纯手打:金九银十跳槽必会Java核心知识点笔记整理

Java架构追梦

Java 数据库 架构 面试 微服务

JVM-技术专题-深入理解内存结构

码界西柚

Java JVM

架构师训练营第 1 期 第 4 周作业

李循律

极客大学架构师训练营

JAVA & VUE ,分离式开发平台建造思路

Marilyn

Java Vue 敏捷开发

Go发起HTTP2.0请求流程分析(前篇)

Gopher指北

HTTP HTTP2.0 Go 语言

摆脱复杂烧脑的程序代码,利用快速开发平台轻轻松松做软件

Marilyn

敏捷开发 快速开发

快速开发平台,程序员“老师傅”必备

Marilyn

敏捷开发 快速开发 开发工具

阿里内部《Java架构进阶宝典》,总结了基础、进阶、架构三个阶段的知识点

Java架构之路

Java 程序员 面试 算法 编程语言

智能时代,快速开发平台将成为主流软件开发工具

Marilyn

敏捷开发

Vidyo的解决方案到底是什么?有哪些特点?

dwqcmo

音视频 集成架构 解决方案 智能硬件

spring-boot-route(十三)整合RabbitMQ

Java旅途

Java Spring Boot RabbitMQ

Redis Sharding集群跟一致性哈希有什么瓜葛?

Man

一致性哈希 Jedis redis cluster

企业开发遇到瓶颈,何不换个新思路?快速开发了解一下

Marilyn

敏捷开发 快速开发

XJR企业级软件快速开发平台规范

Marilyn

程序员 敏捷开发 软件设计

低代码开发平台,来自“未来”的软件开发方案

Marilyn

敏捷开发

五年Java开发经验,4面阿里成功拿下offer,分享一下个人面经!

Java架构之路

Java 程序员 面试 算法 编程语言

JAVA代码生成器,快速开发平台之魂

Marilyn

Java 敏捷开发 快速开发 开发工具

标本兼治,程序员用它整体提升公司效率

Marilyn

敏捷开发 快速开发

GitHub 上开源了一个很邪恶的项目!女生勿近,18香警告...

程序员生活志

大企内部软件系统反复故障难以解决,业内人士:唯有彻底更换

Marilyn

敏捷开发 快速开发 开发工具

商业智能(Business Intelligence)系统的使用及设计原则

Marilyn

敏捷开发 快速开发 商业智能

快速开发平台,高集成易扩展,进入软件疾速开发新世代

Marilyn

敏捷开发 快速开发 开发工具

有一说一,大型信息化企业的软件系统,还是用自研的好

Marilyn

敏捷开发 快速开发 开发工具 软件设计

Go语言内存管理三部曲(一)内存分配原理

网管

内存管理 内存布局 Go 语言

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