API 找出有多少执行者正在运行我的 Spark 作业?

数据挖掘 阿帕奇火花
2022-02-14 19:38:16

我正在编写从 Spark 运行中捕获统计数据并将结果存储在 XML 文件中的代码。理想情况下,我想使用 REST API 捕获有关执行程序数量以及创建的数据框的数量和大小的信息。是否有捷径可寻?什么是 API 调用?

1个回答

请记住,执行程序的数量与数据帧的分区数量无关。您在创建SparkConf()对象时设置执行器的数量。

https://spark.apache.org/docs/latest/submitting-applications.html

要从代码中检索执行器的数量,这取决于您使用的 API。对于 python,目前还没有实现。对于 Scala,您可以。这是一个很好的堆栈帖子:

https://stackoverflow.com/questions/38660907/how-to-get-the-number-of-workersexecutors-in-pyspark

分区数是指您的数据框由多少部分组成。使用 pyspark API,您可以通过将数据帧转换为 rdd 然后使用方法.getNumPartitions()来获取它:

num_partitions = df.rdd.getNumPartitions()