结构化流媒体 - Grafana中的度量标准

pas*_*ate 11 graphite apache-spark apache-spark-sql spark-structured-streaming

我正在使用结构化流来从Kafka读取数据并创建各种聚合度量.我使用了Graphite sink metrics.properties.我见过较旧的Spark版本中的应用程序具有与流相关的指标.我没有看到结构化流媒体的流媒体相关指标.我究竟做错了什么?

例如 - 无法找到未处理的批次或运行批次或上次完成的批次总延迟.

我通过设置启用了流量指标:

SparkSession.builder().config("spark.sql.streaming.metricsEnabled",true)
Run Code Online (Sandbox Code Playgroud)

即便如此,我只得到3个指标:

  • driver.spark.streaming.inputrate
  • driver.spark.streaming.latency
  • driver.spark.streaming.processingrate

这些指标在它们之间存在差距.它也会在应用程序启动后很晚才开始显示.如何获得与grafana广泛的流媒体相关指标?

我检查StreamingQueryProgress.我们只能使用此方法以编程方式创建自定义指标.有没有办法可以消耗Spark流已经发送到我提到的接收器的指标?

sha*_*har 2

您仍然可以找到其中一些指标。实际启动流式处理工具的查询有两个方法 - lastProgressrecentProgress

它们公开了诸如处理的行数、批处理的持续时间、批处理中的输入行数等详细信息。调用中还有一个方法json可以一次性获取所有这些信息,该方法可能用于发送到某些指标收集器。