三、Spark设计与运行原理,基本操作

1.Spark已打造出结构一体化、功能多样化的大数据生态系统,请用图文阐述Spark生态系统的组成及各组件的功能。

   Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、Structured Streaming、MLlib、Graphx等组件。

  • Spark Core:Spark Core包含Spark最基础和最核心的功能,如内存计算、任务调度、部署模式、故障恢复、存储管理等,主要面向批数据处理。Spark Core建立在统一的抽象RDD之上,使之可以以基本一致的方式应对不同的大数据处理场景,Spark Core通常被简称为Spark。
  • Spark SQL:Spark SQL是用于结构化数据处理的组件,允许开发人员直接处理RDD,同时也可查询HIve、HBase等外部数据源。Spark SQL的一个重要特点是其能够统一处理关系表和RDD,使得开发人员不需要自己编写Spark应用程序,开发人员可以轻松地使用SQL命令进行查询,并进行更复杂的数据分析。
  • Spark Streaming:Spark Streaming是一种流计算框架,可以支持高吞吐量、可容错处理的实时数据处理,其核心思路是将流数据分解成一系列短小的批处理作业,每个短小的批处理作业都可以使用Spark Core进行快速处理。Spark Streaming支持多种数据输入源,如Kafka、Flume和TCP套接字等。
  • MLlib:MLlib提供了常用机器学习算法的实现,包括聚类、分类、回归、协同过滤,降低了机器学习的门槛,开发人员只需具备一定的理论知识就能进行机器学习的工作。
  • GraphX:GraphX是Spark中用于图计算的API,可认为是Pregel在Spark上二点重写及优化,GraphX性能良好,拥有丰富的功能和运算符,能在海量数据上自如地运行复杂的图算法。

 

 

  

2.请详细阐述Spark的几个主要概念及相互关系:

  Master, Worker;  RDD,DAG; Application, job,stage,task; driver,executor,Claster Manager

  • Master,Worker:Spark集群配好的时候,就有了Master和Worker节点,一个集群有多个Master和多个Worker。Master节点常驻master守护进程,负责管理Worker节点,我们从master节点提交应用。worker节点常驻worker守护进程,与master节点通信,并且管理executor进程。
  • RDD,DAG:RDD是弹性分布式数据集(Resilient Distributed Graph)的简称,是分布式内存的一个抽象概念,提供一种高度受限的共享内存模型。DAG是有向无环图(Directed Acyclic Graph)的简称,反映RDD之间的依赖关系。
  • Application, job,stage,task:Application(应用):用户编写的Spark编程应用、job(作业):一个作业包含多个RDD及作用于相应RDD上的各种操作、task(任务):运行在Executor上的工作单元、stage(阶段):是作业的基本调度单位,一个作业会分成多组任务,每组任务都被称为“阶段”或是“任务集”
  • driver,executor,Claster Manager:driver:每个任务的控制节点,executor:每个工作节点上负责具体任务的执行进程,Claster Manager:集群资源管理器。

    1.构建Spark Application的运行环境(启动SparkContext),SparkContext向资源管理器(可以是Standalone、Mesos或YARN)注册并申请运行Executor资源;

    2.资源管理器分配Executor资源并启动StandaloneExecutorBackend,Executor运行情况将随着心跳发送到资源管理器上;

    3.SparkContext构建成DAG图,将DAG图分解成Stage,并把Taskset发送给Task Scheduler。Executor向SparkContext申请Task,Task Scheduler将Task发放给Executor运行同时SparkContext将应用程序代码发放给Executor;

    4.Task在Executor上运行,运行完毕释放所有资源

3.在PySparkShell尝试以下代码,观察执行结果,理解sc,RDD,DAG。请画出相应的RDD转换关系图。 

 

 

 

 

 

 

 

 

 

 

posted on 2022-03-12 22:03  TanHaven  阅读(140)  评论(0)    收藏  举报