首页 文章

针对1000万数据的Spark性能调整配置

提问于
浏览
0

我们在下面的硬件上运行用JAVA编写的SPARK应用程序:

  • 一个主节点

  • 两个工作节点(每个节点具有502.5 GB可用内存和88个内核(CPU)) .

使用 ./spark-submit 命令的以下配置:

--executor-memory=30GB --driver-memory=20G --executor-cores=5 --driver-cores=5

我们正在使用 SPARK cluster manager .

处理1000万个数据需要 13 minutes .

我们没有共享应用程序代码的自由 .

有人建议配置调整我们的应用程序以获得更好的性能?

如果您需要任何其他细节,请告诉我 .

我们正在使用 SPARK 2.3.0

EDIT

我们的数据包含127列和1000万行 . spark启动了32个具有上述配置的 Actuator . 我们正在flatmap函数中进行外部应用程序调用 .

do you think if hardware resources are not enough?

1 回答

  • 0

    如果您使用的是Spark独立群集,则可以尝试将 --executor-cores=5 设置设置为较低的设置,如果您的操作不是CPU密集型,则可以使用更多的执行程序 . 同时尝试将 --total-executor-cores 设置为88(或者您想要给出的最大核心数,此参数控制您将拥有的执行程序数),以便您可以更好地控制 .

相关问题