栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark 之 Spark框架及部署

Spark 之 Spark框架及部署

Spark
  • 前言
  • Spark 知识系列文章
  • 一、Spark框架
    • 1.1 Driver
    • 1.2 Executor
  • 二、WordCount案例
    • 2.1 案例结构图
    • 2.2 WordCount代码实现
  • 三、Spark的三种部署模式
    • 3.1 Local模式
    • 3.2 StandAlone模式
    • 3.3 Yarn模式(*)
  • 总结


前言

   本文简单介绍有关Spark的框架、应用Spark实现WordCount案例以及Spark的部署的相关知识。


Spark 知识系列文章

   此处罗列了有关Spark相关知识的其他文章,有需要的可以进行点击查阅。

   Spark 之Spark三大数据结构

   Spark 之 RDD转换算子

   Spark 之 RDD行动算子

   Spark 之 SparkSQL

   Spark 之 SparkStreaming

一、Spark框架

   Spark是一种基于内存的快速、通用、可拓展的大数据分析引擎;

1.1 Driver

   Spark的驱动器是执行开发程序中的main方法的进程。它负责开发人员编写的,用来创建SparkContext、创建RDD,以及进行RDD的转化操作和行动操作代码的执行

主要负责:

(1)把用户程序转为作业(JOB)

(2)跟踪Executor的运行状况

(3)为执行器节点调度任务

(4)UI展示应用运行状况

1.2 Executor

   Spark Executor是一个工作进程,负责在 Spark 作业中运行任务,任务间相互独立。Spark 应用启动时,Executor节点被同时启动,并且始终伴随着整个 Spark 应用的生命周期而存在。如果有Executor节点发生了故障或崩溃,Spark 应用也可以继续执行,会将出错节点上的任务调度到其他Executor节点上继续运行。

主要负责:

(1)负责运行组成 Spark 应用的任务,并将结果返回给驱动器进程;

(2)通过自身的块管理器(Block Manager)为用户程序中要求缓存的RDD提供内存式存储。RDD是直接缓存在Executor进程内的,因此任务可以在运行时充分利用缓存数据加速运算。

   所有的RDD算子的计算功能都由Executor执行

二、WordCount案例 2.1 案例结构图


实现WordCount案例的步骤:

(1)按行读入数据文件;

(2)通过flatMap将数据扁平化,转化为一个一个的单词;

(3)通过Map将一个个单词转化为KV形式;

(4)根据单词的不同,进行分组聚合

2.2 WordCount代码实现

代码如下:

sc. textFile("input"). flatMap(_.split(" ")). map((_,1)). reduceByKey(_+_).collect
//代码注解
textFile("input"):读取本地文件input文件夹数据;
flatMap(_.split(" ")):压平操作,按照空格分割符将一行数据映射成单词;
map((_,1)):对每一个元素操作,将单词映射为元组;
reduceByKey(_+_):按照key将值进行聚合,两两相加;
collect:将数据收集到Driver端展示。
三、Spark的三种部署模式 3.1 Local模式

  运行在一台计算机上的模式;

  Local 所有的操作在一个线程上执行,没有任何的并行计算;

  Local [k] 指定使用几个线程来进行计算;

  Local [*] 按照CPU最多的核来设置线程数;

3.2 StandAlone模式

  构建一个由Master+Slave构成的Spark集群,Spark运行在集群中。

3.3 Yarn模式(*)


具体步骤:

(1)客户端向Yarn集群提交任务;

(2)集群中的RM(ResourceManager)会分配Container资源并让NM(NodeManager)启动AM(ApplicationMaster);

(3)AM向RM进行反向注册(图中未画出),并申请资源用来启动Exexutor;

(4)RM返回资源列表,以Container的形式;

(5)AM要求对应的NM启动Executor;

(6)对应的NM进行反向注册,表示启动成功;

(7)RM分解任务,并向NM发送任务;


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/630290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号