随笔分类 -  Spark学习笔记

摘要:Shuffle的写流程 ​ ShuffleMapTask类中的runTask方法中含有一个写处理器: shuffleWriterProcessor ​ 它执行写操作的启动操作,即执行write方法,在write方法方法中还含有一个Shuffle管理器: val manager = SparkEnv. 阅读全文
posted @ 2021-01-13 15:37 有心有梦 阅读(175) 评论(0) 推荐(0)
摘要:任务的调度 ​ 关于任务的调度逻辑依然在submitMissingTasks方法中,在任务的划分之后,会生成一个任务的任务的集合,即: val tasks: Seq[Task[_]] ​ 该集合中包含的正是当前阶段中所有的任务。任务划分之后,程序会继续向下执行: if (tasks.nonEmpty 阅读全文
posted @ 2021-01-10 13:03 有心有梦 阅读(207) 评论(0) 推荐(0)
摘要:任务的划分 ​ DAGScheduler类的handleJobSubmitted方法中,有一个提交阶段的的方法: var finalStage: ResultStage = null …… finalStage = createResultStage(finalRDD, func, partitio 阅读全文
posted @ 2021-01-09 10:13 有心有梦 阅读(312) 评论(0) 推荐(1)
摘要:阶段的划分 ​ SparkContext对象包含有一个私有属性DAGScheduler阶段调度器,主要用于阶段的划分。在一个应用程序中,任务的提交都是从行动算子触发的。行动算子的方法内部会调用一个runJob方法,其中就有DAG调度器发挥运行Job的作用: dagScheduler.runJob(r 阅读全文
posted @ 2021-01-06 22:00 有心有梦 阅读(583) 评论(0) 推荐(0)
摘要:通过Spark-Core API写的WordCount的11种解决方案: package com.fym.spark.core.wc import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} i 阅读全文
posted @ 2020-12-27 12:26 有心有梦 阅读(265) 评论(0) 推荐(0)
摘要:Yarn分布式部署模式 ​ 独立部署(Standalone)模式由Spark自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是你也要记住,Spark主要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是和其他专业的资源调 阅读全文
posted @ 2020-12-18 23:08 有心有梦 阅读(702) 评论(0) 推荐(0)
摘要:Standalone部署模式 独立部署模式,自身除了计算,也负责资源的调度。 集群规划 hadoop101 hadoop102 hadoop103 Spark Worker(Master) Worker Worker 安装文件 spark-3.0.1-bin-hadoop2.7.tgz 将其解压缩 阅读全文
posted @ 2020-12-16 19:03 有心有梦 阅读(296) 评论(0) 推荐(0)