zoukankan      html  css  js  c++  java
  • spark中groupByKey 和reduceByKey 的区别?

    在公司第二次写spark任务的时候,跑一小时的数据,大概4000万条客户端请求,因为使用了groupby统计客户端版本分布,结果任务先后出现了time out, out of memory异常(有时候成功,有时候失败)。

    学习笔记:

    他们都是要经过shuffle的,groupByKey在方法shuffle之间不会合并原样进行shuffle,。reduceByKey进行shuffle之前会先做合并,这样就减少了shuffle的io传送,所以效率高一点。

    我的spark任务每次跑4000万条数据,

    HDFS存的数据结构:
    versionCode,userId,url
    比如:10131,1001,/com/andy/login

    下面是我的真实数据进行groupby导致的问题,10131的应用版本,有2000多万的数据,10132只有几十万数据,导致在groupby的时候,有时候传输超时,有时候内存溢出。

    参考资料:

    https://blog.csdn.net/qq_38799155/article/details/80178022

  • 相关阅读:
    python函数
    python3基础4
    布尔值常识
    字典常用魔法方法
    字典相关常识
    元组相关常识
    列表及其魔法方法(list类中提供的方法)
    列表相关常识
    day11练习题
    字符串相关常识
  • 原文地址:https://www.cnblogs.com/mkl34367803/p/15717744.html
Copyright © 2011-2022 走看看