Spark 指标:有没有办法以可配置的时间间隔添加一些 json 内容来激发指标
Spark metrics: Is there a way to add some json content at a configurable interval to spark metrics
我在我的 Spark Streaming 应用程序中使用 Spark 指标功能我已经在 Spark 指标系统中添加了两个自定义指标
- 每秒传入事件数:使用 Spark Meter
- 成功处理的事件数:使用 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
中的配置处理
我在我的 Spark Streaming 应用程序中使用 Spark 指标功能我已经在 Spark 指标系统中添加了两个自定义指标
- 每秒传入事件数:使用 Spark Meter
- 成功处理的事件数:使用 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
中的配置处理