Spark作业在运行的时候应该分配足够多的资源, 在一定范围内, 增加资源和性能提升是成正比的。
提交到Yarn上时, 相关配置:
--driver-memory Driver的内存 --executor-memory Executor的内存 --executor-cores Executor的cpu core数量 --num-executors Executor的数量 --queue 运行在Yarn的哪个队列上
尽量将作业使用的资源调整到最大 task并行度 = num-executors * executor-cores 加大executor-memory, 可以cache更多数据, 降低IO, 避免频繁的GC