Spark本地模式:如何查询执行程序插槽的数量?

时间:2018-03-16 15:45:55

标签: apache-spark pyspark databricks spark-ui

我按照教程Using Apache Spark 2.0 to Analyze the City of San Francisco's Open Data进行了宣传"本地模式" Databricks" Community Edition"为您提供3个执行器插槽。 (所以3个任务应该能够同时运行。)

然而,当我看到"事件时间表"在Databricks" Community Edition"上我自己的笔记本中具有多个任务的作业阶段的可视化,看起来最多可同时运行8个任务:

Event timeline in Spark UI, with up to 8 tasks executing concurrently

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

1 个答案:

答案 0 :(得分:0)

Databricks" slot" = Spark"核心" =可用线程

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

(请参阅Hortonworks社区的this answerthis "Spark Tutorial: Learning Apache Spark" databricks notebook。)

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

要查看Databricks群集中有多少,请点击" Clusters"在左侧导航区域中,然后将鼠标悬停在群集的条目上,然后单击" Spark UI"链接。在Spark UI中,单击" Executors"标签

Annotated Screenshot: How to open Spark UI for a Databricks cluster

您可以在摘要和"核心"中的每个执行者 1 中看到执行者核心数(=执行者位数)。相应表格中的列:

Spark UI for Executors: Summary table and tables for each executor (only one executor here)

1 "本地模式"中只有一个执行者集群,这是Databricks社区版中可用的集群。

查询插槽/核心/线程数

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

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

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