Spark生态系统的顶级项目

Spark开发了一个丰富的生态系统,包括le 官方和第三方工具。 我们来看看5个以不同方式加强了Spark的第三方项目。

By Matthew Mayo, KDnuggets.

Apache Spark现在是最大的开源数据处理项目,有着来自200个组织的超过750个贡献者。

Spark由在AMP Berabley的AMPLab开发,现在是一个顶级的Apache项目,由Spark的创建者创办的Databricks监管。这两个组织携手合作,推动Spark的发展。 Apache Spark和Databricks创始人兼CTO副总裁Matei Zaharia这么描述这种发展关系:

在Databricks,我们正在努力使Spark通过我们对Spark代码库和支持文档的加强更容易使用和运行速度超过以往任何时候。我们在Spark上的所有工作都是开源的,并且直接进入Apache。

这有时会被视为是与Hadoop的竞争(但并不一定是这样),Spark已经设法从Hadoop的成长的痛苦中吸取经验教训,因为Hadoop已经十几岁了。因此,Spark已经建立了一个紧密的官方工具生态系统,它具有很好的处理能力。

Spark的官方生态系统包括以下主要组件(这是从Spark官方文档中获取的描述):

  • Spark DataFrames - a distributed collection of data organized into named columns, similar to a relational table
  • Spark SQL - execute SQL queries written using either a basic SQL syntax or HiveQL, and read data from an existing Hive installation
  • Spark Streaming - an extension of the core Spark API that enables scalable, high-throughput, fault-tolerant stream processing of live data streams
  • MLlib - Spark's machine learning library, consisting of common learning algorithms and utilities, including classification, regression, clustering, collaborative filtering, dimensionality reduction, and more
  • GraphX - a new component in Spark for graphs and graph-parallel computation
  • Spark Core API - provides APIs for a variety of commonly-used languages: R, SQL, Python, Scala, Java

然而,会有一些额外的项目不是官方生态系统的一部分,而且在某些情况下已经(或正在成为)自己的能力或必须添加的创新。这只是一个项目列表,其中包含了已经观察到的它们在某些方面的有用性,或已被注意到变得流行。以下是被认为对Spark有用的5个选定项目。

1. Mesos

Apache Mesos是一个来自UC Berkeley的AMPLab的开源集群管理器。从其网站:

Apache Mesos将CPU,内存,存储和其他计算资源从机器(物理或虚拟)中抽象出来,使容错性和弹性分布式系统能够轻松构建和高效运行。

Mesos在集群的节点上运行,并为应用程序提供API,用于管理和调度资源。因为Mesos是Spark可以操作的集群配置之一。Spark的官方文档甚至包括Mesos作为集群管理器的信息。

为什么要使用Mesos管理Spark standalone或YARN?这是来自学习Spark,由Spark开发人员Databricks(包括一些联合创始人)的描述:

Mesos对于YARN和standalone的一个优点是它的细粒度共享选项,它允许交互式应用程序(如Spark Shell)缩减命令之间的CPU分配。这使得它在多个用户运行交互式shell的环境中很有吸引力。

2. Spark Cassandra Connector

Cassandra是高度可扩展的高性能数据库管理软件。Spark Cassandra Connector项目是一个正在积极开发的开源软件,它允许Spark与Cassandra的表交互。这是它的Github的描述:此库允许您作为Spark RDDs公开Cassandra表,将Spark RDDs写入Cassandra表,并在Spark中执行任意CQL查询。Spark Cassandra连接器负责将Spark与Cassandra连接的配置。这是以前可能是通过自己的一些辛苦工作,或使用Spark Hadoop API。

3. Zepellin

Zepellin是一个有趣的Spark项目,目前是Apache孵化器的成员。Zepellin正在整合的IPython(Jupyter)风格的笔记本带到Spark生态系统。虽然现有存在替代方案,但它们是(很好的)事后解决方案。 Zepellin是从基础架构建立与Spark,Scala和相关技术的联系,而不依赖于Jupyter。值得注意的是,它允许直接和容易地将代码执行结果作为嵌入式iframe发布在托管博客或网站中。这是来源于项目网站:基于Web的笔记本电脑,支持交互式数据分析。您可以使用SQL,Scala等创建漂亮的数据驱动,交互式和协作文档。

Zeppelin解释器允许额外的语言插件。 当前支持的语言包括Scala(带Spark),Python(带Spark),Spark SQL,Hive,Markdown和Shell。

4. Spark Job Server

Spark Job Server是一个简洁和准确的标题。 这是Github的描述:spark-jobserver提供了一个RESTful接口,用于提交和管理ApacheSpark作业,jar和作业内容。这个仓库包含完整的Spark Job Server项目,包括单元测试和部署脚本。它最初开始于Ooyala,但现在是主要开发仓库。为什么使用Spark Job Server? RESTful接口允许从任何语言或环境提交作业,作业内容由Job Server处理。

5. Alluxio (formerly Tachyon)

Alluxio将自己定义为“具有内存速度的虚拟分布式存储系统”。 Alluxio以前称为Tachyon,位于计算框架(如Apache Spark)和各种类型的存储系统(包括Amazon S3,HDFS,Ceph等)之间。 Spark作业可以在Alluxio上运行而不进行任何更改,Alluxio可以显着提高性能。 Alluxio声称“百度使用Alluxio将数据分析性能提高了30倍”。这是来源于他们的网站:Alluxio是一个开源的以内存为中心的分布式存储系统,能够以内存速度在集群任务之间进行可靠的数据共享,可能是在不同的计算框架(如Apache Spark,Apache MapReduce和Apache Flink)中编写。

原文发布于微信公众号 - 鸿的学习笔记(shujuxuexizhilu)

原文发表时间:2017-01-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

YARN & Mesos,论集群资源管理所面临的挑战

在国内,大部分的Spark用户都是由Hadoop过渡而来,因此YARN也成了大多Spark应用的底层资源调度保障。而随着Spark应用的逐渐加深,各种问题也随之...

2438
来自专栏重庆的技术分享区

Hadoop和大数据分析简介

原文地址:https://opensourceforu.com/2013/12/introduction-tohadoop-big-data-analysis/

3104
来自专栏数据派THU

手把手教你入门Hadoop(附代码资源)

作者:GETINDATA公司创始人兼大数据顾问彼得亚·雷克鲁斯基(Piotr Krewski)和GETINDATA公司首席执行官兼创始人亚当·卡瓦(Adam K...

1624
来自专栏一名叫大蕉的程序员

提高Spark姿势水平 No.73

长文。巨长。 本文的依据是我学习整个Spark的学习历程。在这里,我会从几个方面来跟大家一起讨论。Spark 是什么?Spark 跟 Hadoop 有什么渊源?...

2196
来自专栏数据科学与人工智能

【Spark研究】用Apache Spark进行大数据处理第一部分:入门介绍

什么是Spark Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发,并于20...

2587
来自专栏包子铺里聊IT

五分钟深入 Hadoop 输入优化

当面试公司问起 Hadoop 经验时,我们当然不能只停留在 Mapper 干了什么、Reducer 干了什么。没有 Performance Tuning 怎么...

2717
来自专栏聊聊技术

Apache Spark:大数据时代的终极解决方案

Apache Spark是基于Hadoop MapReduce的数据分析引擎,它有助于快速处理大数据。它克服了Hadoop的限制,正在成为最流行的大数据分析框架...

4883
来自专栏数据科学与人工智能

【Spark研究】用Apache Spark进行大数据处理之入门介绍

什么是Spark Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发,并于20...

2939
来自专栏企鹅号快讯

提高Spark姿势水平 No.73

长文。巨长。本文的依据是我学习整个Spark的学习历程。在这里,我会从几个方面来跟大家一起讨论。Spark 是什么?Spark 跟 Hadoop 有什么渊源?S...

2036
来自专栏数据科学与人工智能

【Hadoop研究】Hadoop YARN的发展史与详细解析

【编者按】成熟、通用让Hadoop深得大数据玩家喜爱,即使是在YARN出现之前,在流处理框架林立下,Hadoop仍然被众多机构广泛运用在离线处理之上。借鉴于Me...

3095

扫码关注云+社区

领取腾讯云代金券