Spark本地模式:如何查询executor slots的个数?

Spark local mode: How to query the number of executor slots?

我正在学习教程 Using Apache Spark 2.0 to Analyze the City of San Francisco's Open Data,其中声称 Databricks "Community Edition" 中可用的 "local mode" Spark 集群为您提供了 3 个执行程序插槽。 (所以 3 个任务应该能够同时 运行。)

但是,当我在自己的 Databricks "Community Edition" 笔记本中查看具有多个任务的作业阶段的 "Event Timeline" 可视化时,看起来多达 8 个任务 运行ning同时:

有没有办法从 PySpark 或 Databricks notebook 查询执行程序插槽的数量?或者我可以直接在 Spark UI 某处看到数字吗?

Databricks "slots" = Spark "cores" = 可用线程

"Slots" 是 Databricks 使用(或使用?)表示 可用线程 为 Spark 执行并行工作的术语。 Spark 文档和 Spark UI 调用相同的概念 "cores",即使它们与物理 CPU 内核无关。

(参见 this answer on Hortonworks community, and this "Spark Tutorial: Learning Apache Spark" databricks notebook。)

Spark UI(在 Databricks 上)slots/cores/threads 的查看数量

要查看您的 Databricks 集群中有多少个,请单击左侧导航区域中的 "Clusters",然后将鼠标悬停在您的集群条目上并单击 "Spark UI" link.在 Spark UI 中,单击 "Executors" 选项卡。

您可以在摘要和每个执行器 1 的 "cores" 列中查看执行器核心(=执行器插槽)的数量 [= =60=] 那里:

1"local mode"个集群只有一个executor,是Databricks社区版可用的集群

查询人数slots/cores/threads

如何从笔记本中查询这个号码,我不确定。

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

结果 java.util.NoSuchElementException: spark.executor.cores