程序中的 Spark 流作业持续时间
Spark streaming jobs duration in program
如何在我的程序(即 运行 火花流作业)中获取每个 rdd 作业所花费的时间。
例如
val streamrdd = KafkaUtils.createDirectStream[String, String, StringDecoder,StringDecoder](ssc, kafkaParams, topicsSet)
val processrdd = streamrdd.map(some operations...).savetoxyz
在上面的代码中,每个微批次 rdd 的作业是 运行 用于映射和保存操作。
我想获取每个流媒体作业的时间。我可以在端口 4040 UI 中看到作业,但想获取 spark 代码本身。
如果我的问题不清楚,请原谅。
您可以在您的 Spark 应用程序中使用 StreamingListener。该接口提供了一种 onBatchComplete 方法,可以为您提供批处理作业所花费的总时间。
context.addStreamingListener(new StatusListenerImpl());
StatusListenerImpl 是您必须使用 StreamingListener 实现的实现 class。
侦听器中还有更多其他方法,您也应该探索它们。
如何在我的程序(即 运行 火花流作业)中获取每个 rdd 作业所花费的时间。 例如
val streamrdd = KafkaUtils.createDirectStream[String, String, StringDecoder,StringDecoder](ssc, kafkaParams, topicsSet)
val processrdd = streamrdd.map(some operations...).savetoxyz
在上面的代码中,每个微批次 rdd 的作业是 运行 用于映射和保存操作。
我想获取每个流媒体作业的时间。我可以在端口 4040 UI 中看到作业,但想获取 spark 代码本身。
如果我的问题不清楚,请原谅。
您可以在您的 Spark 应用程序中使用 StreamingListener。该接口提供了一种 onBatchComplete 方法,可以为您提供批处理作业所花费的总时间。
context.addStreamingListener(new StatusListenerImpl());
StatusListenerImpl 是您必须使用 StreamingListener 实现的实现 class。 侦听器中还有更多其他方法,您也应该探索它们。