# 可能会导致溢出的原因
1. map过程产生大量对象导致内存溢出
2.数据不平衡导致内存溢出
3.coalesce调用导致内存溢出
4.shuffle后内存溢出
5. standalone模式下资源分配不均匀导致内存溢出
6.在RDD中,共用对象能够减少OOM的情况
# 优化技巧
1.使用mapPartitions代替大部分map操作,或者连续使用的map操作
2.broadcast join和普通join
3.先filter在join
4.partitonBy优化
5.combineByKey的使用:
6.内存不足时的优化
7.在spark使用hbase的时候,spark和hbase搭建在同一个集群:
# 参数优化部分
8.spark.driver.memory (default 1g)
9.spark.rdd.compress (default false)
10.spark.serializer (default org.apache.spark.serializer.JavaSerializer )
11.spark.memory.storageFraction (default 0.5)
12.spark.locality.wait (default 3s)