zoukankan      html  css  js  c++  java
  • reduce 和 reduceByKey

    reduce(binary_function)
    reduce将RDD中元素前两个传给输入函数,产生一个新的return值,新产生的return值与RDD中下一个元素(第三个元素)组成两个元素,再被传给输入函数,直到最后只有一个值为止。

    val c = sc.parallelize(1 to 10)
    c.reduce((x, y) => x + y)//结果55
    1
    2
    具体过程,RDD有1 2 3 4 5 6 7 8 9 10个元素,
    1+2=3
    3+3=6
    6+4=10
    10+5=15
    15+6=21
    21+7=28
    28+8=36
    36+9=45
    45+10=55

    reduceByKey(binary_function)
    reduceByKey就是对元素为KV对的RDD中Key相同的元素的Value进行binary_function的reduce操作,因此,Key相同的多个元素的值被reduce为一个值,然后与原RDD中的Key组成一个新的KV对。

    val a = sc.parallelize(List((1,2),(1,3),(3,4),(3,6)))
    a.reduceByKey((x,y) => x + y).collect
    1
    2
    //结果 Array((1,5), (3,10))
    ————————————————
    版权声明:本文为CSDN博主「专注于大数据技术栈」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_36932624/article/details/83027736

  • 相关阅读:
    归并排序
    mysql优化
    树结构
    urllib库的使用
    linux常用命令
    mysql慢查询
    支付宝第三方支付
    类型(type)判断
    c语言自带的排序与查找
    多字节与宽字节转换
  • 原文地址:https://www.cnblogs.com/deepJL/p/14997985.html
Copyright © 2011-2022 走看看