如何控制PySpark中每个执行程序运行的任务数

时间:2018-04-12 01:27:27

标签: performance apache-spark pyspark

我使用Spark来运行使用大量内存的C ++二进制文件。

我这样运行:

rdd.map(lambda x: subprocess.check_call(["./high_memory_usage_executable"]))

我一直收到-9返回代码,这意味着由于内存不足,操作系统正在查杀可执行文件。

我已经设定:

spark.mesos.executor.memoryOverhead=20480 可执行文件应该需要大约10g(10240)的内存。所以memoryOverhead设置非常慷慨。

问题:

  1. 如何分析内存使用情况和可执行文件,并调试它失败的原因。
  2. 我担心每个执行者有多个./high_memory_usage_executable在运行。如何强制每个high_memory_usage_executable
  3. 只运行一个执行程序

0 个答案:

没有答案