spark(11)collect 算子操作剖析

collect 算子操作剖析

collect算子操作的作用:

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

spark(11)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")
    
上一篇:JAVA8学习——从使用角度深入Stream流(学习过程)


下一篇:Java8 stream