/ / Spark modalità locale: come interrogare il numero di slot degli esecutori? - apache-spark, pyspark, databricks, spark-ui

Spark local mode: come interrogare il numero di slot esecutore? - apache-spark, pyspark, databricks, spark-ui

Sto seguendo il tutorial Utilizzo di Apache Spark 2.0 per analizzare i dati aperti della città di San Francisco dove si afferma che il cluster Spark in "modalità locale" disponibile in Databricks "Community Edition" fornisce 3 slot per esecutori (quindi 3 Task dovrebbero essere in grado di funzionare contemporaneamente).

Tuttavia, quando guardo la "Cronologia degli eventi"visualizzazione per le fasi di lavoro con più attività nel mio taccuino su "Community Edition" di Databricks, sembra che fossero in esecuzione contemporaneamente fino a 8 attività:

Cronologia degli eventi nell'interfaccia utente di Spark, con l'esecuzione simultanea di un massimo di 8 attività

C'è un modo per interrogare il numero di slot degli esecutori da PySpark o da un notebook Databricks? O posso vedere direttamente il numero nell'interfaccia utente di Spark da qualche parte?

risposte:

0 per risposta № 1

Databricks "slots" = Spark "core" = thread disponibili

"Slot" è un termine che Databricks utilizza (o utilizzato?) Per discussioni disponibili fare un lavoro parallelo per Spark. La documentazione di Spark e l'interfaccia utente di Spark chiama lo stesso concetto "core", anche se non sono correlati ai core fisici della CPU.

(Vedere questa risposta sulla comunità di Hortonworks e questo quaderno "Spark Tutorial: Learning Apache Spark".)

Visualizza il numero di slot / core / thread nell'interfaccia utente Spark (su Databricks)

Per vedere quanti ce ne sono nei tuoi Databrickcluster, fai clic su "Cluster" nell'area di navigazione a sinistra, quindi passa con il mouse sopra la voce per il cluster e fai clic sul link "Spark UI". Nell'interfaccia utente di Spark, fai clic sulla scheda "Executors".

Schermata annotata: come aprire l'interfaccia utente Spark per un cluster Databricks

Puoi vedere il numero di core degli esecutori (= slot degli esecutori) sia nel sommario che per ogni singolo esecutore1 nella colonna "core" della rispettiva tabella lì:

Spark UI for Executors: tabella riassuntiva e tabelle per ciascun esecutore (solo un esecutore qui)

1Esiste un solo esecutore nei cluster in "modalità locale", che sono i cluster disponibili nell'edizione della comunità Databricks.

Interroga il numero di slot / core / thread

Come interrogare questo numero all'interno di un notebook, non sono sicuro.

spark.conf.get("spark.executor.cores")

risultati in java.util.NoSuchElementException: spark.executor.cores