Apache spark 结构化流媒体-Grafana中的度量

Apache spark 结构化流媒体-Grafana中的度量,apache-spark,apache-spark-sql,graphite,spark-structured-streaming,Apache Spark,Apache Spark Sql,Graphite,Spark Structured Streaming,我使用结构化流媒体从卡夫卡读取数据,并创建各种聚合指标。我已使用metrics.properties启用Graphite sink。我已经看到旧版本Spark中的应用程序具有与流相关的指标。我没有看到结构化流媒体的流媒体相关指标。我做错了什么 例如-无法找到未处理的批次或正在运行的批次或上次完成的批次总延迟 我通过设置以下内容启用了流媒体度量: SparkSession.builder().config("spark.sql.streaming.metricsEnabled",true) 即使

我使用结构化流媒体从卡夫卡读取数据,并创建各种聚合指标。我已使用
metrics.properties
启用Graphite sink。我已经看到旧版本Spark中的应用程序具有与流相关的指标。我没有看到结构化流媒体的流媒体相关指标。我做错了什么

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

我通过设置以下内容启用了流媒体度量:

SparkSession.builder().config("spark.sql.streaming.metricsEnabled",true)
即使如此,我也只能得到3个指标:

  • driver.spark.streaming.inputrate
  • driver.spark.streaming.latency
  • driver.spark.streaming.processingrate
这些指标之间存在差距。而且,在应用程序启动后,它会很晚出现。如何向grafana获取广泛的流媒体相关指标


我检查了
流化查询程序
。我们只能使用此方法以编程方式创建自定义度量。有什么方法可以使用Spark streaming已经发送到我提到的接收器的指标吗?

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


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

我在graphite中找到它了吗?即使将spark.sql.streaming.metricsEnabled设置为true,我也找不到它。如何确保像您提到的那样发送其他度量?query.sparkSession.streams.addListener(新StreamingQueryListener(){override def onQueryStarted(queryStarted:QueryStartedEvent):Unit={logger.info(“查询已启动:“+queryStarted.id+”表示查询名称“+query.NAME”))重写def onQueryTerminated(queryTerminated:QueryTerminatedEvent):Unit={logger.info(“查询终止:+queryTerminated.id+”表示查询名称“+Query.NAME”)}}logger.info(“recentProgress”+Query.recentProgress)logger.info(“progress”+Query.lastProgress)