【多选题】
A shuffle/partition主要调优参数 spark.conf.set(“spark.sql.shuffle.partitions”, “40”)
B 生产环境集群环境部署优化,Redis/MemCache集群和Spark集群进行物理分离,避免内存峰值“碰撞”,Spark与HDFS集群的磁盘阵列保证较高的网络带宽,热数据处理部分硬盘使用SSD
C 避免没必要的RDD cache和persist disks,减少大量数据序列化,若使用了cache或persist注意在适当时机释放资源
D 有条件时选择使用Spark源生Parquet数据源格式,获得较高的处理性能
E 慎重或减少使用byKey类的算子,据经验判断,通常60%的性能问题都在shuffle阶段,较高的shuffle可能直接导致OutOfMemory
F 有些场景可巧妙地设计RDD,通常可使用reduceByKey替代groupByKey,reduceByKey可减少shuffle
G Spark两个调优级别:Application Code级别和资源配置级别
查看更多