【发布时间】:2016-12-04 07:03:54
【问题描述】:
我需要使用这个参数,那么如何获取worker的数量呢?
就像在 Scala 中一样,我可以调用 sc.getExecutorMemoryStatus 来获取可用的工人数量。但是在 PySpark 中,似乎没有公开 API 来获取这个数字。
【问题讨论】:
-
我不认为这个问题是另一个问题的重复。我想知道在 Mesos 上运行时,甚至在创建任何 rdds 之前,有多少执行程序可供驱动程序使用。很烦人,但我最终解析了 ui: import pandas as pd df = pd.read_html("localhost:4040/executors")[1] len(df[df['Executor ID'] != 'driver'])
-
快速回答,获取核心数:sc._jsc.sc().getExecutorMemoryStatus().size()
-
投票重新开放,因为最初的问题是指 EMR 节点,而这指的是 Spark 执行器。虽然这个问题回答了前者,但前者不太通用。附言这里接受的答案很简单,而且是错误的——无论是结果还是假设。
标签: scala apache-spark pyspark