![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spark 1.6.0 core 源码分析
wuzhilon88
这个作者很懒,什么都没留下…
展开
-
spark 1.6.0 core源码分析5 spark提交框架
从sparkSubmit脚本中可以看到现在spark提交任务都是是用:exec "${SPARK_HOME}"/bin/spark-class org.apache.spark.deploy.SparkSubmit "$@"首先来看main方法:def main(args: Array[String]): Unit = { val appArgs = new SparkSubmit原创 2016-07-08 20:36:14 · 718 阅读 · 0 评论 -
CarbonData编译、安装和集成Spark 2.2
carbandata官网地址 一、编译1、获取源码git clone https://github.com/apache/carbondata.git编译需要安装maven和jdk 1.7或者1.82、编译mvn -DskipTests -Pspark-2.2 -Dspark.version=2.2.0 clean package3、获取打包后的jar,打包后只有一个大原创 2017-12-21 15:56:16 · 1980 阅读 · 0 评论 -
spark-2.2.0-rc4 编译 [error] javac: invalid source release: 1.8
编译环境:java version "1.8.0_131"Apache Maven 3.3.9linux进入linux:执行如下命令:cd $spark_home/spark-2.2.0-rc4./dev/make-distribution.sh --name custom-spark --tgz -Psparkr -Phadoop-2.6 -Phive -Ph原创 2017-06-14 16:02:09 · 2802 阅读 · 0 评论 -
Spark on yarn client 和cluster模式运行序列图
序列图是基于spark 2.1进行本地调试画的:通过这两张图给想看源码的的朋友应该会有很大的帮助。spark on yarn client模式: spark on yarn Cluster模式:原创 2017-06-19 11:52:59 · 540 阅读 · 0 评论 -
spark ListenerBus 监听器
Spark 源码中对livelistenerBus进行了这样的注释:即所有spark消息SparkListenerEvents 被异步的发送给已经注册过的SparkListeners. 在SparkContext中, 首先会创建LiveListenerBus实例,这个类主要功能如下:保存有消息队列,负责消息的缓存保存有注册过的listener,负责消息的分发li原创 2017-03-17 16:59:27 · 6353 阅读 · 0 评论 -
Spark Shuffle FetchFailedException解决方案
在大规模数据处理中,这是个比较常见的错误。报错提示SparkSQL shuffle操作带来的报错org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle 0 org.apache.spark.shuffle.FetchFailed原创 2017-03-17 16:45:12 · 6140 阅读 · 0 评论 -
spark sql 表分区出现损坏
表分区出现损坏 1) Create a table"test". "create table test (n string) partitioned by (pstring)"2) Load some data into partition(p='1')3)Remove the path related to partition(p='1') of table test manua原创 2017-03-17 16:44:08 · 1936 阅读 · 0 评论 -
hadoop namnode 挂掉以及解决的过程记录如下
现将namnode 挂掉以及解决的过程记录如下:1、时间(2016-03-08-22:20) 发现namnode2状态为DOWN的告警2、采取措施 重启namenode2。集群正常3、分析原因 们的hadoop集群采用的是默认的hadoop-heapsize大小,1000m,内存过小导致namenode2出现内存溢出原创 2017-03-17 16:39:27 · 4038 阅读 · 0 评论 -
spark core 1.6.0 源码分析10 Task的运行
org.apache.spark.executorExecutor下面:TaskRunneroverride def run(): Unit = { val taskMemoryManager = new TaskMemoryManager(env.memoryManager, taskId) val deserializeStartTime = System.cu原创 2016-07-20 17:33:55 · 598 阅读 · 0 评论 -
spark 1.6.0 core源码分析9 从简单例子看action
这一节以reduce为例讲解action操作首先看submitJob方法,它将我们reduce中写的处理函数随JobSubmitted消息传递出去,因为每个分区都需要调用它进行计算;而resultHandler是指最后合并的方法,在每个task完成后,需要调用resultHandler将最终结果合并。所以它不需要随JobSubmitted消息传递,而是保存在JobWaiter中org.原创 2016-07-20 15:46:00 · 1028 阅读 · 0 评论 -
spark 1.6.0 core源码分析8 从简单例子看transformation
前面提到过spark自带的一个最简单的例子,介绍了SparkContext的部分,这节介绍剩余的内容中的transformation。object SparkPi { def main(args: Array[String]) { val conf = new SparkConf().setAppName("Spark Pi") val spark = new SparkC原创 2016-07-18 20:28:56 · 574 阅读 · 0 评论 -
spark 1.6.0 core源码分析4 worker启动流程
worker的main方法,与master类似,创建sparkConf,参数解析,以及构造worker对象并创建rpcEnv用于对外或者本身的信息交互。private[deploy] object Worker extends Logging { val SYSTEM_NAME = "sparkWorker" val ENDPOINT_NAME = "Worker" def ma原创 2016-07-08 20:19:51 · 716 阅读 · 0 评论 -
spark 1.6.0 core源码分析7 Spark executor的运行
源码位置:org.apache.spark.executor.CoarseGrainedExecutorBackendprivate def run( driverUrl: String, executorId: String, hostname: String, cores: Int, appId: String, wo原创 2016-07-18 18:42:33 · 749 阅读 · 0 评论 -
spark 1.6.0 core源码分析6 Spark job的提交
本节主要讲解SparkContext的逻辑首先看一个spark自带的最简单的例子:原创 2016-07-15 18:59:45 · 852 阅读 · 0 评论 -
spark 1.6.0 core源码分析3 Master HA
在Master启动过程中,首先调用了 Akka actor的preStart方法。[java] view plain copyoverride def preStart() { logInfo("Starting Spark master at " + masterUrl) logInfo(s"Running Spark原创 2016-07-05 21:11:51 · 925 阅读 · 0 评论 -
spark 1.6.0 core源码分析2 master启动流程
源码位置:org.apache.spark.deploy.master.Master.scaladef main(argStrings: Array[String]) { SignalLogger.register(log) val conf = new SparkConf val args = new MasterArguments(argStrings, conf)原创 2016-07-05 20:25:49 · 938 阅读 · 0 评论 -
spark 1.6.0 core源码分析1 集群启动及任务提交过程
spark版本号:1.6.0spark源码分析目的是在解读源码的过程中记录一些重要的步骤,加深记忆,方便以后复习。Standalone集群启动及任务提交过程详解正常启动及job提交过程如下:1. 启动master2. 启动worker3. 客户端提交application到master4. master发送LaunchExecutor指令给相应worker5.原创 2016-07-05 17:49:43 · 1324 阅读 · 0 评论 -
Spark Release 2.3.0 版本发布新特性和优化
Apache Spark 2.3.0是2.x系列中的第四个版本。此版本增加了对结构化流中的连续处理以及全新的Kubernetes Scheduler后端的支持。其他主要更新包括新的DataSource和结构化Streaming v2 API,以及一些PySpark性能增强。此外,此版本继续关注可用性,稳定性和抛光,同时解决了大约1400问题。要下载Apache Spark 2.3.0,请访问下载页...原创 2018-03-05 17:54:33 · 3727 阅读 · 0 评论