答案 0 :(得分:3)
您可以参考类 StreamingJobProgressListener 这是Spark的StreamingListener的默认实现,用于捕获作业进度指标。
可以按如下方式获取此侦听器:
JavaStreamingContext jssc = new JavaStreamingContext(sparkconf, Durations.seconds(60));
StreamingJobProgressListener progressListener = jssc.ssc().progressListener();
您可以浏览 progressListener.onStageSubmitted,progressListener.onStageCompleted,progressListener.onTaskStart 和 progressListener.onTaskEnd 函数,以获取所需的指标。
答案 1 :(得分:1)
我不认为您可以使用Spark UI获取有关map或flatMap等阶段内特定转换的大量性能指标,因为它是Spark中管道操作优化的一部分。
但是,您可以在这些转换之间插入collect()动作和计时器来模拟它。
这篇文章可以阐明如何使用Spark UI来调试应用程序。 Understanding your Apache Spark application through visualization