
spark
深度思索
走在路上思考着前进
展开
-
有趣的 Scala 语言: 函数成了一等公民
Scala 是一种有趣的语言。它一方面吸收继承了多种语言中的优秀特性,一方面又没有抛弃 Java 这个强大的平台,它运行在 JVM 之上,轻松实现和丰富的 Java 类库互联互通。它既支持面向对象的编程方式,又支持函数式编程。它写出的程序像动态语言一样简洁,但事实上它却是严格意义上的静态语言。Scala 就像一位武林中的集大成者,将过去几十年计算机语言发展历史中的精萃集于一身,化繁为简,为程序员们转载 2016-03-09 15:13:05 · 758 阅读 · 0 评论 -
windows下搭建Spark1.6源码调试阅读环境
**零.看源代码宗旨** 1.有目的性,要知道自己看什么。 2.先看系统流程,知道各个组件功能及交互关系。 3.深入某个组件,比如yarn资源调度平台。 4.准备好纸笔,边看边写边画一、相关组件及安装顺序0.默认jdk1.8,java已经安装1.scala 2.10.6[download](http://www.scala-lang.org/download原创 2017-05-27 17:37:36 · 726 阅读 · 0 评论 -
sort-based shuffle的核心:org.apache.spark.util.collection.ExternalSorter
依据Spark 1.4版在哪里会用到它ExternalSorter是Spark的sort形式的shuffle实现的关键。SortShuffleWriter使用它,把RDD分区中的数据写入文件。 override def write(records: Iterator[Product2[K, V]]): Unit = { if (dep.mapSideCom转载 2017-09-14 17:18:17 · 843 阅读 · 0 评论 -
Spark内核的10大问题
问题1:reduce task数目不合适解决方案:需要根据实际情况调整默认配置,调整方式是修改参数spark.default.parallelism。通常的,reduce数目设置为core数目的2-3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太小,任务运行缓慢。所以要合理修改reduce的task数目即spark.default.parallelism问题2:shuffle转载 2017-09-20 17:13:42 · 443 阅读 · 0 评论 -
spark源码之Job执行(1)stage划分与提交
目录(?)[+]1 从reduce看Job执行流程1.1 reduce操作以reduce操作为例,看看作业执行的流程def reduce(f: (T, T) => T): T = withScope { val cleanF = sc.clean(f) val reducePartition: Iterator[T] => Option[T] = iter转载 2017-09-12 21:55:57 · 541 阅读 · 0 评论