scala—如何确定在单个节点上运行spark的最佳设置?

lndjwyie  于 2021-05-18  发布在  Spark
关注(0)|答案(1)|浏览(351)

我有55 gb的数据需要处理。我在一台32核180gbram(没有集群)的单机上运行sparkshell。由于它是一个单节点,驱动程序和工作程序都驻留在同一个jvm进程中,默认情况下使用514MB。
我把spark.driver.memory设置为170g

  1. spark-shell --driver-memory 170g

我正在做一个Map操作,后面是group\u by,然后是agg并写入Parquet文件。它仍然停留在

是否有任何方法可以通过更改spark.executor.memory或更改使用的内核数而不是使用master[*]来优化性能?如何确定给定任务和数据大小的最佳设置?在--conf文件中我应该精确调整哪些值?
简言之,如何强迫spark以最好的方式使用所有可用的资源?

wlwcrazw

wlwcrazw1#

如果在一台计算机上运行,更改spark.executor.memory不会生效。你需要一个真正的集群。您可以向集群添加更多节点,以减少分区数量并加快处理速度。

相关问题