Jit*_*dav 3 apache-kafka apache-spark spark-structured-streaming
我正在为我的 Spark 结构化流应用程序构建监控,并且需要获取 Spark 应用程序所使用的某个主题的消费者滞后情况。我相信 Spark 驱动程序必须意识到这种滞后,因为它拥有执行程序的所有元数据。我看不到任何方法可以从任何现有的 Spark 文档或资源中获取此指标。我检查了streaminQueryListener
接口,但它的功能也有限,因为我们只能从中获取每个查询指标。
跟踪结构化流作业的消费者滞后的挑战在于,结构化流不会向 Kafka提交任何偏移量(请参阅此处了解更多详细信息)。因此,Kafka并不知道Structured Streaming作业的实际进度。
另一方面,Spark 无法洞察当前位于 Kafka 主题中的消息/偏移量。
为了监控消费者滞后,您需要将这些信息整合在一起:
例如,您可以创建一个 Kafka并在调用AdminClient
期间从 Kafka 获取所需的信息。在该方法中,您需要将提到的最新事件的偏移量与 Kafka 中实际可用的最高偏移量进行比较。onQueryProgress
StreamingQueryListener
归档时间: |
|
查看次数: |
3031 次 |
最近记录: |