本系列文章为对Spark主要逻辑源码学习整理。主要参考《Spark技术内幕》一书(简称《内幕》)。《内幕》主要以源码模块为主线进行横向解析。本文则致力于由“事件”触发的纵向逻辑为主线,例如Action算子、Transform算子、集群启动等,这个角度基本Spark运行时的调用栈。各主线直接没有必然的先后联系
如无特别说明,本文基于Spark 2.10版本源码,并且仅讨论Standalone部署模式
文章内黄底部分表示重要调用栈逻辑,绿底部分表示比较重要但属其他模块逻辑,当前文章不做展开
除源码外,主要内容在注释中说明。包括对源码注释的翻译以及个人说明
例如
// cleanedFunc是一个闭包的函数,用到asm来解析class。大致是去掉对闭包无影响的父类、子类、transient属性等,确认闭包可序列化。后续文章再深入分析这个方法。最终getIteratorSize函数传到runJob里
def runJob[T, U: ClassTag]( rdd: RDD[T], func: Iterator[T] => U, partitions: Seq[Int]): Array[U] = {
val cleanedFunc = clean(func)
runJob(rdd, (ctx: TaskContext, it: Iterator[T]) => cleanedFunc(it), partitions)
}
相关推荐
spark2.2.0源码 我们很高兴地宣布Spark 2.2.3的可用性!请访问发行说明以了解有关新功能的信息,或立即下载该发行版。
spark源码:spark-master.zip。方便不能登录GitHub的小伙伴下载。如果实在需要留言,可以私下给。
spark-streaming-kafka-0-8_2.11-2.4.0.jar
spark-streaming-kafka-0-8-assembly_2.11-2.4.0.jar
北风网spark课程源码spark-study-scala.rar,
spark-streaming-kafka-0-10_2.11-2.4.0-cdh6.1.1.jar
Spark安装包:spark-3.1.3-bin-without-hadoop.tgz
Apache Spark版本3.1.3。Linux安装包。spark-3.1.3-bin-hadoop3.2.tgz
spark-3.0.0-bin-hadoop3.2下载安装包
内容概要:由于cdh6.3.2的spark版本为2.4.0,并且spark-sql被阉割,现基于cdh6.3.2,scala2.12.0,java1.8,maven3.6.3,,对spark-3.2.2源码进行编译 应用:该资源可用于cdh6.3.2集群配置spark客户端,用于spark-sql
spark-2.1.0-bin-hadoop2.7.tgz linux 安装文件 。
本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载,本资源是spark-2.0.0-bin-hadoop2.6.tgz百度网盘资源下载
spark-3.2.4-bin-hadoop3.2-scala2.13 安装包
spark-3.2.0-bin-hadoop3.2.tgz
spakr streaming的kafka依赖
spark streaming 链接kafka必用包,欢迎大家下载与使用
spark3.0.0版本对接kafka数据源需要的jar包,最新的版本导致maven的阿里云仓库不能直接下载下来,所以需要手动导入jar包进行操作,有需要的朋友可以免费下载
pyspark本地的环境配置包,spark-2.3.4-bin-hadoop2.7.tgz:spark-2.3.4-bin-hadoop2.7.tgz
spark-3.0.0-bin-hadoop2.7.tgz 官网下载不了的,需要资源的,可以到这里下载哦
spark+kafka 项目jar包