一、Spark核心API

----------------------------------------------------------------------------------------------

[SparkContext]:连接到Spark集群,入口点

[HadoopRDD]:读取Hadoop上面的数据

[RDD]:弹性分布式数据集

              不可变的数据分区集合

              基本操作(map, filter, persist)

              分区列表                                     //数据

              应用给每个分区的函数列表         //行为

               到其他RDD的依赖列表

              针对KV类型的RDD分区类,可选

               首选位置列表,可选

3、Spark运行原理解析一发现:调用TextFile()方法,返回的是一个HadoopFile文件

 

[DAGScheduler]:高级调度器,实现按照Stage(由Shuffle制造)层面的调度

[TaskScheduler]:任务调度器,实现按照Task层面的调度

专业术语:

        [Application】:用户提交的应用,每个应用对应一个spark context,包含多个job

      【Job】: 由actoin(执行操作)来划分,job是阶段stage的集合,提交给调度的顶层的工作项目

      【stage】: 由shuffle来划分,stage是Task的集合,计算job中的中间结果,同一RDD的每个分区都会应用相同的计算函数。

        [Task】:单独的工作单元,每个发送给一台主机。一台节点机器上面可以有多个Task,数量一般由core决定

 

二、Actoin发生之后,Spark的具体执行流程

-----------------------------------------------------------------------------------

3、Spark运行原理解析一

总览:客户端创建sc对象,调用sc的textFile方法以创建系列HadoopRDD对象,将上面的RDD对象返回给客户端,由客户端触发

           执行函数

 

调用执行函数collect之后执行细节 

3、Spark运行原理解析一

 

 

 

 

相关文章: