scala - 查找 Spark 阶段每个步骤的执行时间

标签 scala apache-spark

如何找到 Spark 阶段中每个步骤的持续时间?

enter image description here

我想弄清楚哪一步是我工作的瓶颈。

最佳答案

可以引用StreamingJobProgressListener类,它是StreamingListener的默认实现。由 Spark 用于捕获作业进度指标。

可以按如下方式获取此监听器:

JavaStreamingContext jssc = new JavaStreamingContext(sparkconf, Durations.seconds(60));
StreamingJobProgressListener progressListener =  jssc.ssc().progressListener();

您可以探索 progressListener.onStageSubscribed、progressListener.onStageCompleted、progressListener.onTaskStartprogressListener.onTaskEnd 函数来获取所需的指标。

关于scala - 查找 Spark 阶段每个步骤的执行时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321519/

相关文章:

scala - IntelliJ 不断从 akka 教程中删除 context.dispatcher 的导入

scala - 从 Scala 枚举中获取值

scala - Akka 和游戏服务器架构

scala - Scala after() 方法中有没有办法知道测试是否失败?

apache-spark - Spark 将字符串解析为带时区的时间戳

scala - 将 csv 转换为 RDD

apache-spark - 胶水dpu和最大并发的关系

apache-spark - Spark 结构化流检查点清理

java - 使用 spark 对抗 cassandra 性能不佳

python - 导入错误: No module named requests while running spark