
spark
喜讯XiCent
这个作者很懒,什么都没留下…
展开
-
Spark1.3.1源码(3)-Task提交
前面我们已经分析了DAGScheduler对Stage划分,并对Task的最佳位置进行计算之后,通过调用taskScheduler的submitTasks方法,将每个stage的taskSet进行提交。今天给大家讲一下taskScheduler是如何将Task发送到各个Executor上执行的。TaskScheduler在taskScheduler的submitTasks方法中会为每个TaskSet创建一个TaskSetManager,用于管理taskSet。然后向调度池中添加该TaskSet.原创 2020-07-05 23:23:43 · 127 阅读 · 0 评论 -
Spark1.3.1源码(2)-DAGScheduler中stage划分和提交
前面我们已经介绍了SparkSubmit提交任务后,Worker的调度以及Executor的注册过程。今天我们将介绍Spark是如何将我们程序划分成一个个job并且提交到对应的Executor执行的。我们知道RDD分为两种,transformation和action。只有当执行action时才会真正提交job进行计算。并且还会根据RDD之间的依赖关系(宽依赖、窄依赖)进行stage的划分,将stage中的一个个task提交到对应的Executor上执行。我们以一个闭着眼睛都能写得出的WordCount.原创 2020-07-01 22:58:40 · 339 阅读 · 0 评论 -
Spark超简单入门
Spark概述1.1. 什么是Spark(官网:http://spark.apache.org)Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为Apache顶级项目。目前,Spark生态系统已经发展成为一个包含多个子项目的集合,其中包含SparkSQL、Spark ...原创 2020-04-19 20:13:44 · 200 阅读 · 0 评论 -
Spark1.3.1源码(1)-Spark Submit任务提交以及Worker向Executor注册
当我们写好的Spark程序想要提交到集群运行时,我们通常是调用SparkSubmit脚本进行提交,那调用Spark Submit脚本是如何在集群中执行我们的Spark程序的,Master是如何进行调度的,Executor如何向Driver注册的等等,过程复杂,这篇文章将为你一一揭晓。1.任务提交Executor的注册流程执行命令bin/spark-submit,内部通过exec执行${SPARK_HOME}/bin/spark-class org.apache.spark.deploy.SparkS.原创 2020-06-30 10:41:54 · 287 阅读 · 0 评论 -
Spark-RDD编程API快速入门
RDD(Resilient Distributed Dataset)叫做分布式数据集,是Spark中最基本的数据抽象,它代表一个可分区,不可变,里面的元素可并行计算的结合。RDD具有自动容错、位置感知性调度和可伸缩性。RDD允许用户在执行多个查询时显示地将工作集换存在内存中,后续的查询能够重用工作集,这极大地提升了查询速度。RDD的属性一组分片(Partition):即数据集的基本组成单...原创 2020-04-19 20:14:50 · 411 阅读 · 0 评论