Spark生态顶级项目汇总

 现在 Apache Spark 已形成一个丰富的生态系统,包括官方的和第三方开发的组件或工具。后面主要给出 5 个使用广泛的第三方项目。

  Spark 官方构建了一个非常紧凑的生态系统组件,提供各种处理能力。 下面是 Spark 官方给出的生态系统组件(引自 Spark 官方文档)。

  1. Spark DataFrames:列式存储的分布式数据组织,类似于关系型数据表。
  2. Spark SQL:可以执行 SQL 查询,包括基本的 SQL 语法和 HiveQL 语法。读取的数据源包括 Hive 表、Parquent 文件、JSON 数据、关系数据库(MySQL 等)等。
  3. Spark Streaming:Spark Streaming 是 Spark 核心 API,易扩展、高吞吐量、流式数据容错。
  4. MLlib:Spark 的机器学习库,由常规的机器学习算法和基础构成,包括但不限于分类算法、回归算法、聚类算法、协调过滤算法、降维算法等。
  5. GraphX:Spark GraphX 是一个分布式图处理框架,基于 Spark 平台提供对图计算和图挖掘的接口,方便用户对分布式图处理的需求。
  6. Spark Core API:Spark 提供多种语言的 API,包括R、SQL、Python、Scala 和 Java。

  除了上述官方的 Spark 组件外,还有些是在某种情形下必用的项目。以下只是简单的列出这些重量级项目,而不涉及一些性能指标。

  1. Mesos Mesos 是开源的资源统一管理和调度平台。抽象物理机的 CPU、内存、存储和计算资源,再由框架自身的调度器决定资源的使用者。 Mesos 是 Master/Slave 结构,由 Mesos-master,Mesos-slave,Framework 和 executor 四个组件构成。 为什么官方选用 Mesos,而不是 Spark standalone 模式或者基于 Yarn 框架?由 Spark 开发者所写的书《Learning Spark》:Mesos 优于其它两个资源框架是因为 Mesos 的细粒度调度,这样可让多用户运行 Spark shell 占有更少的 CPU。
  1. Spark Cassandra Connector Cassandra 是一个易扩展、高性能的数据库。 Spark Cassandra Connector 现在是 Spark 和 Cassandra 表间直接交互的连接器,高度活跃的开源软件。 Spark Cassandra Connector 库让你读 Cassandra 表就如同 Spark RDD 一样,同样可以写 Spark RDD 到 Cassandra 表,并可以在 Spark 程序中执行 CQL 语句。
  2. Zepellin Zepellin 是一个集成 IPythoon notebook 风格的 Spark 应用。Zepellin 可以基于 Spark 和 Scala,允许用户很简单直接的在他们的博客或者网站发布代码执行的结果。 Zepellin 也支持其它语言插件,包括 Scala 和 Spark,Python 和 Spark,SparkSQL,HIve,Markdown 和 Shell。
  1. Spark Job Server Spark Job Server 提供 RESTful 接口来提交和管理 Spark jobs,jar 包和 job 上下文。Spark Job Server 提供 Spark 任务相关的运行健康信息。
  2. Alluxio Alluxio 是一个分布式内存文件系统,它在减轻 Spark 内存压力的同时,也赋予 Spark 内存快速读写海量数据的能力。Alluxio 以前叫做 Tachyon,即钨丝。Spark jobs 可以不做任何改变即可运行在 Alluxio 上,并能得到极大的性能优化。Alluxio 宣称:“百度使用 Alluxio 可以提高 30 倍多数据处理能力”。

原文发布于微信公众号 - 我是攻城师(woshigcs)

原文发表时间:2016-03-07

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

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

【Hadoop研究】YARN:下一代 Hadoop计算平台

Apache Hadoop 是最流行的大数据处理工具之一。它多年来被许多公司成功部署在生产中。尽管 Hadoop 被视为可靠的、可扩展的、富有成本效益的解决方案...

3126
来自专栏CSDN技术头条

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

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

2448
来自专栏测试开发架构之路

【转载】Impala和Hive的区别

Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中...

2422
来自专栏斑斓

【大数据】Spark的硬件配置

从MapReduce的兴起,就带来一种思路,就是希望通过大量廉价的机器来处理以前需要耗费昂贵资源的海量数据。这种方式事实上是一种架构的水平伸缩模式——真正的以量...

5835
来自专栏技术问题

漫谈未来的HDFS

前面我们提到的HDFS,了解了HDFS的特性和架构。HDFS能够存储TB甚至PB规模的数据是有前提的,首先数据要以大文件为主,其次NameNode的内存要足够大...

460
来自专栏祝威廉

Spark Streaming 的玫瑰与刺

说人话:其实就是讲Spark Streaming 的好处与坑。好处主要从一些大的方面讲,坑则是从实际场景中遇到的一些小细节描述。

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

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

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

2939
来自专栏加米谷大数据

Spark核心谈

在大数据领域,Spark平台因计算模型涵盖MapReduce,Streaming,SQL,Machine Learning,Graph等,为大数据计算提供一栈式...

1521
来自专栏灯塔大数据

塔说 | 常见Hadoop面试题及答案解析

导读:Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和...

3715
来自专栏加米谷大数据

技术分享 | 提升Hadoop性能和利用率你知道有哪些吗?

时下流行的词汇是大数据和Hadoop。了解大数据的知道Hadoop有三个组件,即HDFS、MapReduce和Yarn。 HDFS代表Hadoop分布式文件系统...

3575

扫码关注云+社区

领取腾讯云代金券