spark如何防止内存溢出

 时间:2024-10-19 03:58:03

1、Spark在一个Executor中的内存分为三块,一块是execution内存,一块是storage内存,一块是other内存。

spark如何防止内存溢出

2、map过程产生大量对象导致内存溢出,单个map中产生了大量的对象容易导致内存溢出。面对这种问题不能使用rdd.coalesce方法,这个方法只能减少分区,不能增加分区,不会有shuffle的过程。

spark如何防止内存溢出

3、数据不平衡导致内存溢出,也有可能导致性能的问题,此时调用repartition重新分区即可。

spark如何防止内存溢出

4、coalesce调用导致内存溢出,令程序按照我们想的先执行100个Task再将结果合并成10个文件,这个问题同样可以通过repartition解决,调用repartition(10)。

spark如何防止内存溢出

5、shuffle内存溢出的情况可以说都是shuffle后,单个文件过大导致的。在Spark中,join,reduceByKey这一类型的过程,都会有shuffle的过程,在shuffle的使用,需要传入一个partitioner。

spark如何防止内存溢出

6、standalone模式下资源分配不均匀导致内存溢出,同时配置–executor-cores或者spark.executor.cores参数,确保Executor资源分配均匀。

spark如何防止内存溢出

7、在RDD中,共用对象能够减少OOM的情况。

spark如何防止内存溢出
  • win10系统怎样设置禁止启动同步文件?
  • 降低打印机成本五大技巧
  • win10如何设置休眠选项?
  • 墙发霉、掉漆怎么处理?
  • 如何直接连接两台电脑
  • 热门搜索
    水银体温计打碎了怎么处理 jones怎么读 苹果手机突然没声音了怎么回事 散文怎么写 柘怎么读 warm怎么读 睡不着觉怎么办 冻结窗口怎么设置 除号在键盘上怎么打 燕窝是怎么形成的