• spark aggregate


    nums=[12,23,2,3,2,3,4,23]
    sumCount = nums.aggregate(
    (0, 0),
    (lambda acc, value: (acc[0] + value, acc[1] + 1),(lambda acc1, acc2: (acc1[0] + acc2[0], acc1[1] + acc2[1])))
    )
    return sumCount[0] / float(sumCount[1])

    。与fold() 类似,使用aggregate() 时,需要提供我们期待返回的类型的初始值。然后
    通过一个函数把RDD 中的元素合并起来放入累加器。lambda acc, value: (acc[0] + value, acc[1] + 1)

    考虑到每个节点是在本地进行累加的,最终,还需要提供第二个函数来将累加器两两合并

    (lambda acc1, acc2: (acc1[0] + acc2[0], acc1[1] + acc2[1])))

    lambda acc, value: (acc[0] + value, acc[1] + 1)中,acc为初始值(0,0),value为nums中的元素值

  • 相关阅读:
    C# 类 (7)
    C# 类 (6) -继承
    C# 类 (5)
    c# 类(4)
    C# 类(3)
    c# 类(2)
    C# 类 (1)
    C# 零碎知识点
    VINS_Fusion 初始化过程
    视觉SLAM(一)预备课程与基础知识
  • 原文地址:https://www.cnblogs.com/ggzhangxiaochao/p/9398246.html
Copyright © 2020-2023  润新知