2016-07-29 13 views
5

Potrzebuję użyć tego parametru, więc jak mogę uzyskać liczbę pracowników? Podobnie jak w Scala, mogę zadzwonić pod numer sc.getExecutorMemoryStatus, aby uzyskać dostępną liczbę pracowników. Ale w PySpark wygląda na to, że nie ma żadnego API, aby uzyskać ten numer.Jak zdobyć liczbę pracowników (executorów) w PySpark?

+2

Nie sądzę, kwestia ta jest kopią drugiego. Chciałbym wiedzieć, ile executorów stało się dostępnych dla kierowcy, nawet zanim jakiekolwiek rdds zostały stworzone, podczas pracy na Mesos. Bardzo denerwujące, ale skończyłem analizować pandy: pd df = pd.read_html ("http: // localhost: 4040/executors") [1] len (df [df ['Executor ID']! = 'driver']) – MarkNS

+0

Szybka odpowiedź, aby uzyskać liczbę rdzeni: sc._jsc.sc(). getExecutorMemoryStatus(). size() – OronNavon

Odpowiedz

12

W scala, getExecutorStorageStatus i getExecutorMemoryStatus zarówno zwracają liczbę executorów, w tym sterownik. jak poniżej Przykładowy fragment

/** Method that just returns the current active/registered executors 
     * excluding the driver. 
     * @param sc The spark context to retrieve registered executors. 
     * @return a list of executors each in the form of host:port. 
     */ 
     def currentActiveExecutors(sc: SparkContext): Seq[String] = { 
     val allExecutors = sc.getExecutorMemoryStatus.map(_._1) 
     val driverHost: String = sc.getConf.get("spark.driver.host") 
     allExecutors.filter(! _.split(":")(0).equals(driverHost)).toList 
     } 

But In python api it was not implemented

@DanielDarabos answer potwierdza również.

Jednak nie jestem ekspertem od pyspark. Można spróbować równowartość rzeczą do tego pytona ...

sc.getConf.getInt("spark.executor.instances", 1) 
+0

Przepraszam za spóźnioną odpowiedź, ale w moim Pysparku pokazał "Obiekt SparkContext ma nie ma atrybutu getConf " –

+0

Mam na myśli w tobie wypróbować w równoważnej składni Pythona. nie tak jak jest ... –

+0

Myślę, że to jak ten logger.info (sparkContext.getConf.getAll.mkString ("\ n")) wydrukuje wszystkie parametry, z których można znaleźć liczbę executorów, a także –

Powiązane problemy