源码分析
文章平均质量分 72
九筒-
这个作者很懒,什么都没留下…
展开
-
Intellij idea 查看源码&注释源码方法--以Spark源码为例
问题在使用Intellij idea查看源码时,源码的文件是只读的,文件下脚标有“锁”图标,因此无法对其进行注释实验环境Intellij idea 2018.03以Spark3.0为例步骤添加maven依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</arti原创 2021-05-15 19:34:59 · 1420 阅读 · 0 评论 -
【Spark源码】RDD shuffle溢写&归并排序
RDD shuffle溢写核心代码if (shouldSpill) { _spillCount += 1 logSpillage(currentMemory) //溢写,查看ExternalSorter.scala文件第239行 spill(collection) _elementsRead = 0 _memoryBytesSpilled += currentMemory releaseMemory() //溢写之后释放内存}分析代码步骤在sortshuffle原创 2021-05-15 19:17:51 · 474 阅读 · 0 评论 -
【Spark源码】RDD shuffle 读磁盘与写磁盘
RDD shuffleshuffle阶段涉及磁盘读写,以图示为例,紫色RDD与ShuffleRDD之间会进行磁盘读写操作,紫色RDD进行磁盘写操作,ShuffleRDD进行磁盘读操作写磁盘读磁盘核心代码//读磁盘 override def compute(split: Partition, context: TaskContext): Iterator[(K, C)] = { val dep = dependencies.head.asInstanceOf[ShuffleDepe原创 2021-05-15 17:37:50 · 514 阅读 · 0 评论 -
【Spark源码】RDD任务调度&任务执行
工具环境Intellij Idea 2018.03spark3.0.0<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </d原创 2021-05-13 18:52:45 · 241 阅读 · 0 评论 -
【Spark源码】RDD阶段划分&任务划分
工具环境Intellij Idea 2018.03spark3.0.0<dependencies> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.12</artifactId> <version>3.0.0</version> </d原创 2021-05-11 12:30:01 · 690 阅读 · 1 评论 -
【Spark源码】RDD序列化
RDD序列化序列化的目的是为了在网络中传输从计算的角度, 算子以外的代码都是在Driver 端执行, 算子里面的代码都是在 Executor 端执行。因此会导致算子内经常会用到算子外的数据,因此形成了闭包的效果。在调用算子外的数据时,数据需要在Driver和Executor中间通过网络进行传输,因此需要序列化工具环境Intellij Idea 2018.03spark3.0.0<dependencies> <dependency> &l原创 2021-05-10 17:23:46 · 172 阅读 · 0 评论 -
【Spark源码】RDD分区&RDD分区数据分配
RDD分区创建RDD时自定义分区数量根据计算机Core个数确定默认分区数量核心代码override def defaultParallelism(): Int = scheduler.conf.getInt("spark.default.parallelism", totalCores)首选SparkConf配置的spark.default.parallelism分区数量如果没有配置,则采用计算机的核心数量totalCores作为分区数量分析源码步骤程序- -分区源码入口原创 2021-05-08 20:28:18 · 264 阅读 · 1 评论 -
Centos运行tinyhttpd源码运行与分析(解决代码运行+页面颜色无法改变的问题)
此源码基于C语言,500行代码实现http服务器通信,包含套接字,线程初次阅读源码,请批评指正源码下载github源码+简要解析sourceforge源码(得到一个tar.gz文件,可在linux下直接解压)源码运行本人linux虚拟机使用的是centos7,运行过程中遇到了一些问题代码编译运行首先作者已经讲明在linux运行时需要对代码做一些更改由于源码来源不同,源代码的makefile内容也有所不同,因此此处只展示最终修改的结果具体修改如下cd进入httpd.c所在的文件原创 2020-05-23 09:07:48 · 858 阅读 · 0 评论