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

·Spark Core:BDAS生态系统的核心组件,是一种大数据分布式处理框架,提供了多种资源调度管理,通过内存计算、有向无环图(DAG)等机制保证分布式计算的快速,并引入了RDD的抽象保证数据的高容错性。
·Spark SQL:前身是Shark,它发布时Hive 可以说是SQL on Hadoop的唯一选择(Hive负责将SQL编译成可扩展的MapReduce 作业)。 Spark SQL允许开发人员直接处理RDD,同时也可查询在Hive 上存在的外部数据。SparkSQL的一个重要特点是能够统一处理关系表和RDD,使得开发人员可以轻松地使用SQL命令进行外部查询,同时进行更复杂的数据分析。
·Spark Streaming:一种构建在Spark上的实时计算框架,它扩展了Spark处理大规模流式数据的能力。其吞吐量能够超越现有主流流处理框架Storm,并提供丰富的API用于流数据计算。
·MLlib是Spark:对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器。
·GraphX:是Spark中用于图和图并行计算的API,跟其他分布式图计算框架相比,GraphX最大的优势是:在Spark基础上提供了一栈式数据解决方案,可以高效地完成图计算的完整的流水作业。
·独立调度器、Yarn、 Mesos: Spark框架可以高效地在一个到数千个节点之间伸缩计算,集群管理器则主要负责各个节点的资源管理工作,为了实现这样的要求,同时获得最大的灵活性, Spark支持在各种集群管理器( Cluster Manager)上运行, Hadoop Yarn、Apache Mesos以及 Spark自带的独立调度器都被称为集群管理器。
2.请详细阐述Spark的几个主要概念及相互关系:
Master, Worker; RDD,DAG; Application, job,stage,task; driver,executor,Claster Manager
--------------------------------------------------
DAGScheduler, TaskScheduler.
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上运行,运行完毕释放所有资源

浙公网安备 33010602011771号