LinkedIn开源大数据计算引擎Cubert,并为此创建新的语言
英文原文: LinkedIn open sources Cubert, a big data computation engine that saves CPU resources
Linkedin 周二宣布开源其大数据计算引擎 Cubert,其名字来源于鲁比克方块(Rubik’s Cube),为了让开发人员更容易使用 Cubert,而无需做任何形式的自定义编码,Linkedin 为此开发了新的编程语言 Cubert Script。
以下为译文:
Linkedin 周二宣布开源其大数据计算引擎 Cubert,这个框架可以使用一种专门的算法来组织数据,让其在没有超系统负荷和浪费 CPU 资源的情况下,更轻松的运行查询。
Cubert,其名字来源于鲁比克方块(Rubik’s Cube),据悉,它可以作为一个 Java 应用程序,从而很容易被工程师接受,它包含一个“类似 script 用户界面”,因此工程师可以在运行查询时,使用诸如 MeshJoin 和 Cube 算法在组织数据上节省系统资源。
从 LinkedIn 博客我们知道:
现存引擎 Apache Pig、Hive 以及 Shark 提供一个合乎逻辑的声明性语言,然后被翻译成一个实物计划。这个计划执行分布式引擎(Map-Reduce、Tez 或者 Spark),在此物理操作者针对数据分区执行。最后,数据分区将由 HDFS 提供的文件系统抽象管理。
Cubert 架构
Cubert 运行在 Hadoop 之上,新的框架可以抽象所有的存储到数据块,这将除了让操作者能帮助更好的管理数据之外,还能让其更易于运行它的资源节约算法,例如,COMBINE 操作者可以合并多个数据块在一起,PIVOT 操作者可以创建数据块的子集。
LinkedIn 也创建了一门名为 Cubert Script 的新语言,其目的是使开发人员更容易使用 Cubert,而无需做任何形式的自定义编码。
LinkedIn 现在使用 Cubert 作为一个关键组件来处理数据。当 Kafka 实时消息传递系统从 LinkedIn 的众多应用程序中获取所有信息并将其发送到 Hadoop,Cubert 然后处理这些数据,以确保它不占用系统资源并帮助工程师解决“各种各样的统计、分析和图形计算问题。”
被处理后,数据流向 LinkedIn 的 Pinot 实时数据分析系统,然后该公司分析其众多数据跟踪特性,如最近谁查看了用户的资料。
LinkedIn Data Pipeline
现在 Cubert 已经和 LinkedIn 的基础设施连接,公司不再担心 Hadoop 脚本终结“在集群上占用太多资源”或浪费时间去做他们为此应该做的。