01 Spark架构与运行流程

1. 阐述Hadoop生态系统中,HDFS, MapReduce, Yarn, Hbase及Spark的相互关系,为什么要引入Yarn和Spark

HDFS是Hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障,在低成本的通用硬件上运行。MapReduce是一种分布式计算模型,用以进行海量数据的计算。HBase是一个建立在HDFS之上,面向结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。YARN(分布式资源管理器)是下一代MapReduce,即MRv2,是在第一代MapReduce基础上演变而来的,主要是为了解决原始Hadoop扩展性差,不支持多计算框架而提出的。Spark提供了一个更快、更通用的数据处理平台。和Hadoop相比,Spark平台可以让你的程序在内存中运行时速度提升100倍,或者在磁盘上运行时速度提升10倍。

2. Spark已打造出结构一体化、功能多样化的大数据生态系统,请简述Spark生态系统

Spark 生态系统以Spark Core 为核心,能够读取传统文件(如文本文件)、HDFS、Amazon S3、Alluxio 和NoSQL 等数据源,利用Standalone、YARN 和Mesos 等资源调度管理,完成应用程序分析与处理。

3. 用图文描述你所理解的Spark运行架构,运行流程

 

运行流程:

 

 

1.由Driver创建一个SparkContext申请资源

2.资源管理器为Executor分配资源,并启动Executor进程

3.SparkContext根据RDD的依赖关系构建DAG图,DAG图提交给DAGScheduler解析成Stage,然后把一个个TaskSet提交给底层调度器TaskScheduler处理。Executor向SparkContext申请Task,TaskScheduler将Task发放给Executor运行并提供应用程序代码。

4.Task在Executor上运行把执行结果反馈给TaskScheduler,然后反馈给DAGScheduler,运行完毕后写入数据并释放所有资源

 

 

posted @ 2021-03-12 15:57  fangyujie  阅读(56)  评论(0编辑  收藏  举报