Scala 查找Spark阶段每个步骤的执行时间
如何找到火花阶段中每个步骤的持续时间Scala 查找Spark阶段每个步骤的执行时间,scala,apache-spark,Scala,Apache Spark,如何找到火花阶段中每个步骤的持续时间 我想弄清楚哪一步是我工作的瓶颈。我不认为您可以使用Spark UI获取有关阶段(如map或flatMap)中特定转换的许多性能指标,因为它是Spark中管道操作优化的一部分 但是,您可以在这些转换之间插入collect()操作和计时器来模拟它 下面是一篇文章,可以让我们了解如何使用SparkUI调试应用程序。 您可以参考StreamingJobProgressListener类,该类是用于捕获作业进度度量的by Spark的默认实现 可以按如下方式获取此侦
我想弄清楚哪一步是我工作的瓶颈。我不认为您可以使用Spark UI获取有关阶段(如map或flatMap)中特定转换的许多性能指标,因为它是Spark中管道操作优化的一部分 但是,您可以在这些转换之间插入collect()操作和计时器来模拟它 下面是一篇文章,可以让我们了解如何使用SparkUI调试应用程序。
您可以参考StreamingJobProgressListener类,该类是用于捕获作业进度度量的by Spark的默认实现 可以按如下方式获取此侦听器:
JavaStreamingContext jssc = new JavaStreamingContext(sparkconf, Durations.seconds(60));
StreamingJobProgressListener progressListener = jssc.ssc().progressListener();
您可以探索progressListener.onStageSubmitted、progressListener.onStageCompleted、progressListener.onTaskStart和progressListener.onTaskEnd函数来获取所需的度量值。scala版本中似乎没有其他选择。监听器是私有的