结构化流媒体 - Grafana中的指标

时间:2017-12-19 10:51:35

标签: apache-spark apache-spark-sql graphite spark-structured-streaming

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

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

我已通过设置

启用了流媒体指标
SparkSession.builder().config("spark.sql.streaming.metricsEnabled",true)

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

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

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

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

1 个答案:

答案 0 :(得分:2)

您仍然可以找到其中一些指标。实际启动流式传输线束的查询有两种方法 - lastProgressrecentProgress

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