Spark 指标:有没有办法以可配置的时间间隔添加一些 json 内容来激发指标

Spark metrics: Is there a way to add some json content at a configurable interval to spark metrics

我在我的 Spark Streaming 应用程序中使用 Spark 指标功能我已经在 Spark 指标系统中添加了两个自定义指标

  1. 每秒传入事件数:使用 Spark Meter
  2. 成功处理的事件数:使用 Spark 计数器

上述指标由 spark 指标系统根据配置写入 CSV 文件 metrics.properties

现在我的要求是按指定的时间间隔向 spark 指标系统添加一个 json 字符串。

我期望的输出是 CSV 文件,其中包含如下数据

1,jsonString1

2,jsonString2

jsonString1

jsonString2

请建议一种方法,我搜索了很多但无法得到我期待的答案

提前致谢!

上述要求可以使用 Spark Gauge 来实现。

初始化 SparkGuage 对象

com.huawei.ccloud.cloudyaf.spark.SparkGauge sparkGauge = org.apache.spark.groupon.metrics.UserMetricsSystem.gauge("samplejsonStringGauge");

每次需要记录一个json字符串来激发指标时,可以执行下面的代码

sparkGauge.gauge("{\"id\":1,\"name\":\"A green door\",\"price\":12.5,\"tags\":[\"home\",\"green\"]}");

其余部分由 Spark 度量系统根据 metrics.properties

中的配置处理