2

我正在关注使用 Apache Spark 2.0 分析旧金山市的开放数据的教程,其中声称 Databricks“社区版”中可用的“本地模式”Spark 集群为您提供了 3 个执行器插槽。(所以 3 个任务应该能够同时运行。)

但是,当我在 Databricks“社区版”上的自己的笔记本中查看具有多个任务的作业阶段的“事件时间线”可视化时,看起来多达 8 个任务同时运行:

Spark UI 中的事件时间线,最多同时执行 8 个任务

有没有办法从 PySpark 或 Databricks 笔记本查询执行器插槽的数量?或者我可以直接在 Spark UI 的某个地方看到数字吗?

4

1 回答 1

1

Databricks “插槽” = Spark “核心” = 可用线程

“插槽”是 Databricks 使用(或使用?)的术语,表示可用于为 Spark 执行并行工作的线程。Spark 文档和 Spark UI将相同的概念称为“核心”,即使它们与物理 CPU 核心无关。

(请参阅Hortonworks 社区上的此答案,以及此“Spark 教程:学习 Apache Spark”databricks 笔记本。)

查看 Spark UI 中的槽数/内核数/线程数(在 Databricks 上)

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

带注释的屏幕截图:如何为 Databricks 集群打开 Spark UI

您可以在相应表格的“核心”列中的摘要和每个单独的执行器1中看到执行器核心(=执行器插槽)的数量:

Spark UI for Executors:每个执行器的汇总表和表(这里只有一个执行器)

1 “本地模式”集群中只有一个执行器,即 Databricks 社区版中可用的集群。

查询槽数/核数/线程数

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

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

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

于 2018-03-19T11:43:31.303 回答