Spark 系列(一)—— Spark 简介

发布时间:2020-07-15 18:20:49 作者:heibaiying
来源:网络 阅读:235

一、简介

Spark 于 2009 年诞生于加州大学伯克利分校 AMPLab,2013 年被捐赠给 Apache 软件基金会,2014 年 2 月成为 Apache 的顶级项目。相对于 MapReduce 的批处理计算,Spark 可以带来上百倍的性能提升,因此它成为继 MapReduce 之后,最为广泛使用的分布式计算框架。

二、特点

Apache Spark 具有以下特点:

Spark 系列(一)—— Spark 简介

三、集群架构

Term(术语) Meaning(含义)
Application Spark 应用程序,由集群上的一个 Driver 节点和多个 Executor 节点组成。
Driver program 主运用程序,该进程运行应用的 main() 方法并且创建 SparkContext
Cluster manager 集群资源管理器(例如,Standlone Manager,Mesos,YARN)
Worker node 执行计算任务的工作节点
Executor 位于工作节点上的应用进程,负责执行计算任务并且将输出数据保存到内存或者磁盘中
Task 被发送到 Executor 中的工作单元

Spark 系列(一)—— Spark 简介
执行过程

  1. 用户程序创建 SparkContext 后,它会连接到集群资源管理器,集群资源管理器会为用户程序分配计算资源,并启动 Executor;
  2. Dirver 将计算程序划分为不同的执行阶段和多个 Task,之后将 Task 发送给 Executor;
  3. Executor 负责执行 Task,并将执行状态汇报给 Driver,同时也会将当前节点资源的使用情况汇报给集群资源管理器。

四、核心组件

Spark 基于 Spark Core 扩展了四个核心组件,分别用于满足不同领域的计算需求。

Spark 系列(一)—— Spark 简介

3.1 Spark SQL

Spark SQL 主要用于结构化数据的处理。其具有以下特点:

3.2 Spark Streaming

Spark Streaming 主要用于快速构建可扩展,高吞吐量,高容错的流处理程序。支持从 HDFS,Flume,Kafka,Twitter 和 ZeroMQ 读取数据,并进行处理。

Spark 系列(一)—— Spark 简介

Spark Streaming 的本质是微批处理,它将数据流进行极小粒度的拆分,拆分为多个批处理,从而达到接近于流处理的效果。

Spark 系列(一)—— Spark 简介

3.3 MLlib

MLlib 是 Spark 的机器学习库。其设计目标是使得机器学习变得简单且可扩展。它提供了以下工具:

3.4 Graphx

GraphX 是 Spark 中用于图形计算和图形并行计算的新组件。在高层次上,GraphX 通过引入一个新的图形抽象来扩展 RDD(一种具有附加到每个顶点和边缘的属性的定向多重图形)。为了支持图计算,GraphX 提供了一组基本运算符(如: subgraph,joinVertices 和 aggregateMessages)以及优化后的 Pregel API。此外,GraphX 还包括越来越多的图形算法和构建器,以简化图形分析任务。

更多大数据系列文章可以参见 GitHub 开源项目大数据入门指南

推荐阅读:
  1. Spark 系列(十)—— Spark SQL 外部数据源
  2. Spark 系列(八)—— Spark SQL 之 DataFrame 和 Dataset

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

spark spar (一)

上一篇:perl first day

下一篇:scrollview上添加子视图,在第一个视图右滑显示时右滑调用某个方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》