了解RDD之前,必读UCB的论文,个人认为这是最好的资料,没有之一。http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf A Resilient Distributed Dataset (RDD), the basic abstra...
分类:
其他好文 时间:
2015-01-23 06:12:04
阅读次数:
448
SparkContext 是spark的程序入口,相当于熟悉的‘main’函数。它负责链接spark集群、创建RDD、创建累加计数器、创建广播变量。/** * Main entry point for Spark functionality. A SparkContext represents th...
分类:
其他好文 时间:
2015-01-23 06:09:39
阅读次数:
1394
spark内核揭秘-10-RDD源码分析
**
* A Resilient Distributed Dataset (RDD), the basic abstraction in Spark. Represents an immutable,
* partitioned collection of elements that can be operated on in parallel. This class contains the
* basic operations available on a...
分类:
其他好文 时间:
2015-01-21 16:37:59
阅读次数:
196
package com.latrobe.spark
import org.apache.spark.{SparkContext, SparkConf}
/**
* Created by spark on 15-1-19.
* 根据key对K-V类型的RDD进行排序获得新的RDD
*/
object SortByKey {
def main(args: Array[String]) {...
分类:
其他好文 时间:
2015-01-20 23:59:25
阅读次数:
500
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-02
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-02
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-02
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-02...
分类:
其他好文 时间:
2015-01-20 20:38:35
阅读次数:
233
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-01
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-01
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-01
spark内核揭秘-09-RDD的count操作 触发Job全生命周期-01...
分类:
其他好文 时间:
2015-01-20 18:06:57
阅读次数:
211
Storage模块负责了Spark计算过程中所有的存储,包括基于Disk的和基于Memory的。用户在实际编程中,面对的是RDD,可以将RDD的数据通过调用org.apache.spark.rdd.RDD#cache将数据持久化;持久化的动作都是由Storage模块完成的。包括Shuffle过程中的数据,也都是由Storage模块管理的。可以说,RDD实现了用户的逻辑,而Storage则管理了用户...
分类:
其他好文 时间:
2015-01-18 19:47:34
阅读次数:
226
package com.latrobe.spark
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by spark on 15-1-18.
* countApproxDistinct : RDD的一个方法,作用是对RDD集合内容进行去重统计。
* 该统计是一个大约的统计,参数relativeSD控制统计的精...
分类:
移动开发 时间:
2015-01-18 15:47:14
阅读次数:
194
http://www.cs.berkeley.edu/~matei/papers/2012/nsdi_spark.pdf ucb关于spark的论文,对spark中核心组件RDD最原始、本质的理解,没有比这个更好的资料了。必读。AbstractRDDs provide arestricted for...
分类:
其他好文 时间:
2015-01-18 07:03:31
阅读次数:
394
应用的场景
1)DAG中Lineage过长,如果要重新计算的,则开销会很大(如在PageRank中)。
2)在Shuffle Dependency上采用Lineage的话,由于子RDD分区中的一个分区可能依赖于父RDD的中所有分区,所以需要对父RDD中的每个区进行计算,因为在子RDD中有可能其它分区也依赖于父RDD中的多个分区,这样就会造成很大的冗余计算开销。
传统方式
在RDD计算中,通...
分类:
其他好文 时间:
2015-01-13 23:26:27
阅读次数:
484