Un previous question raccomanda sc.applicationId
, ma è non presente in PySpark
, solo in scala
.Come estrarre ID applicazione dal contesto PySpark
Quindi, come faccio a capire l'ID dell'applicazione (per yarn
) del mio processo PySpark?
Un previous question raccomanda sc.applicationId
, ma è non presente in PySpark
, solo in scala
.Come estrarre ID applicazione dal contesto PySpark
Quindi, come faccio a capire l'ID dell'applicazione (per yarn
) del mio processo PySpark?
Si potrebbe utilizzare Java SparkContext oggetto attraverso il gateway Py4J RPC:
>>> sc._jsc.sc().applicationId()
u'application_1433865536131_34483'
prega di notare che sc._jsc
è variabile interna e non la parte di API pubblica - quindi non c'è (piuttosto piccola) probabilità che possa essere cambiato in futuro.
Invierò una richiesta di pull per aggiungere una chiamata API pubblica per questo.
per favore aggiungi un link alla tua richiesta di pull qui in modo che possiamo votare per questo. – sds
https://issues.apache.org/jira/browse/SPARK-8528 https://github.com/apache/spark/pull/6936 – vvladymyrov
Spark team accettato dal PR - quindi la proprietà sc.applicationID sarà disponibile in Spark 1.5.0 release – vvladymyrov
In Spark 1.6 (probabilmente 1,5 secondo il @wladymyrov nel commentare le altre risposte)
In [1]: sc.applicationId
Out[1]: u'local-1455827907865'
Confermo che 'sc.applicationId' è disponibile in Spark 1.5.2. –
https://spark.apache.org/docs/latest/api/python/pyspark.html#pyspark .SparkContext. Cerca 'id()' – ccheneson
@ccheneson: ci sono 3 partite, tutte per RDD. – sds