微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

spark11collect 算子操作剖析

collect 算子操作剖析

collect算子操作的作用:

  1. 它是一个action操作,会触发任务的运行
  2. 它会把RDD的数据进行收集之后,以数组的形式返回给Driver端

collect

总结:

  1. 认Driver端的内存大小为1G,由参数 spark.driver.memory 设置。

  2. 如果某个rdd的数据量超过了Driver端认的1G内存,对rdd调用collect操作,这里会出现Driver端的内存溢出(OOM),所有这个collect操作存在一定的风险,实际开发代码一般不会使用。比如说rdd的数据量达到了10G,rdd.collect这个操作非常危险,很有可能出现driver端的内存不足

  3. 广播变量也会占用Driver端一定的内存空间。

  4. 实际企业中一般都会把该参数调大,比如5G/10G等。

    可以在代码修改该参数,如下

    new SparkConf().set("spark.driver.memory","5G")
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐