如何通过自定义监听器获取所有Spark执行器的总存储内存

Mac*_*ski 5 java apache-spark apache-spark-2.0

我正在 Java 中通过以下方式实现自定义 Spark 侦听器: public class MetricsSparkListener extends SparkListener 并希望捕获 Spark 历史 UI 中显示的执行程序指标: Spark UI Executor 选项卡

有人可以分享一些示例代码或 API 文档如何执行此操作吗?我在网上找不到任何示例或任何描述。

我正在尝试onExecutorMetricsUpdate(SparkListenerExecutorMetricsUpdate executorMetricsUpdate),但无法真正获取ExecutorMetrics对象的内容。调用executorMetricsUpdate.executorUpdates().get().getMetricValue(ExecutorMetricType metricType)需要 ExecutorMetricType 参数,该参数似乎是一些 Scala 接口。不确定如何创建指标类型值。

最终,我想了解可用执行器指标 (尤其是峰值内存指标)中描述的执行器指标,并为整个应用程序总结它们。