spark.executor.cores vs spark.executor.instance 我应该增加哪一个?



为了并行化 Spark 作业,可以增加内核数和执行器实例数。这里的权衡是什么,应该如何选择两个配置的实际值?

  • 增加无内核数的优势与执行程序的数量相同 作为多线程相对于多进程的优势。
  • 的内核数量增加 每个执行程序的线程数和 执行人将增加否。的Java进程(即在所有Spark 群集上的执行程序(。
  • 如果您希望在同一平台上并行执行多个操作 然后数据集/数据帧不增加每个执行程序的 .of 内核数
  • 但是,如果您希望执行大量过程 并行度相对较低的数据集/数据帧,然后您可以 在键列上划分您的一天,Spark 将在 相应的分区分配的执行程序。

我建议您阅读Cloudera的这篇博文。

通过改变 no. executor 与 no. 的执行器线程来标记您的 PySpark 作业是为您的应用程序提供正确配置的最佳方式。

最新更新