如何在 Spark Streaming 应用程序启动时得到通知?

How to be notified when Spark Streaming application is started?

我使用 Spark 2.3 (HDP 2.3.0.2.6.5.108-1) 和 Spark Streaming (JavaInputDStream)。

我正在编写一些使用火花流的组件的测试。我想做的是:

  1. 在单独的线程中启动组件,这会启动 spark streaming
  2. 等待启动
  3. 在 kafka 中发送通知(由 spark 读取)
  4. 等待处理
  5. 验证输出

但是,我卡在了 (2) 上,我不知道如何至少检查流媒体作业是否已启动。有什么api我可以用的吗?

备注:

您应该使用 SparkListener 接口并监听发出的事件,例如onApplicationStart.

对于 Spark Streaming 特定的事件,使用 StreamingListener 接口。