当前位置:首页 > 开发 > 开源软件 > 正文

【Spark十四】深入Spark RDD第三部分RDD基本API

发表于: 2015-01-05   作者:bit1129   来源:转载   浏览:
摘要:   对于K/V类型的RDD,如下操作是什么含义?   val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5)) rdd.reduceByKey(_+_).collect  reduceByKey在这里的操作,是把

 

对于K/V类型的RDD,如下操作是什么含义?

 

val rdd = sc.parallelize(List(("A",3),("C",6),("A",1),("B",5))
rdd.reduceByKey(_+_).collect

 reduceByKey在这里的操作,是把RDD中的元素按照Key进行Reduce,因为它是K/V类型的RDD,那么_+_中的_是对Value而言的,最终效果是所有的Value进行相加,具体的过程是加假如ByKey之后得到的数据是<A, v1,v2,v3,v4>, 那么_+_的逻辑是v= v1+v2, v = v + v3, v = v + v4??

 

什么是Map/Reduce

    MapReduce是Google 的一项重要技术,它是一个编程模型,用以进行大数据量的计算。对于大数据量的计算,通常采用的处理手法就是并行计算。至少现阶段而言,对许多开发人员来说,并行计算还是一个比较遥远的东西。MapReduce就是一种简化并行计算的编程模型,它让那些没有多少并行计算经验的开发人员也可以开发并行应用。
    MapReduce的名字源于这个模型中的两项核心操作:Map和 Reduce。也许熟悉Functional Programming(函数式编程)的人见到这两个词会倍感亲切。简单的说来,Map是把一组数据一对一的映射为另外的一组数据,其映射的规则由一个函数来指定,比如对[1, 2, 3, 4]进行乘2的映射就变成了[2, 4, 6, 8]。Reduce是对一组数据进行归约,这个归约的规则由一个函数指定,比如对[1, 2, 3, 4]进行求和的归约得到结果是10,而对它进行求积的归约结果是24。

【Spark十四】深入Spark RDD第三部分RDD基本API

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
本文对Sogou的日志进行分析,Sogou日志下载地址. http://download.labs.sogou.com/dl/sogoulabdown/
本文对Sogou的日志进行分析,Sogou日志下载地址. http://download.labs.sogou.com/dl/sogoulabdown/
RDD,Resilient Distributed Object,弹性分布式数据集,是Spark牛逼的基石。 RDD是什么? Spark使
RDD,Resilient Distributed Object,弹性分布式数据集,是Spark牛逼的基石。 RDD是什么? Spark使
在Spark中, RDD是有依赖关系的,这种依赖关系有两种类型 窄依赖(Narrow Dependency) 宽依赖(Wide D
在Spark中, RDD是有依赖关系的,这种依赖关系有两种类型 窄依赖(Narrow Dependency) 宽依赖(Wide D
1.interSection 2.join 1.interSection 1.示例代码 package spark.examples import org.apache.spar
1.interSection 2.join 1.interSection 1.示例代码 package spark.examples import org.apache.spar
1背景介绍 现今分布式计算框架像MapReduce和Dryad都提供了高层次的原语,使用户不用操心任务分发和
本文目的 最近在使用Spark进行数据清理的相关工作,初次使用Spark时,遇到了一些挑(da)战(ken)
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号