Я настроил метрики jmx в приложении Streaming Stream.Ниже приведен код:
val sc = spark.sparkContext
spark.conf.set("spark.sql.streaming.metricsEnabled", "true")
spark.conf.set(s"spark.metrics.conf.*.sink.jmx.class", "org.apache.spark.metrics.sink.JmxSink")
UserMetricsSystem.initialize(sc, config.getAppNamespace)
val listener = new EventCollector(isSingleStream) // Some custom code
spark.streams.addListener(listener)
Содержимое metrics.properties:
*.sink.jmx.class=org.apache.spark.metrics.sink.JmxSink
master.source.jvm.class=org.apache.spark.metrics.source.JvmSource
worker.source.jvm.class=org.apache.spark.metrics.source.JvmSource
driver.source.jvm.class=org.apache.spark.metrics.source.JvmSource
executor.source.jvm.class=org.apache.spark.metrics.source.JvmSource
После настройки всего этого и запуска приложения я могу увидеть inputRate, latency и processingRate для приложенияon:
jconsole <host>:<port> // driver host
Но я хочу видеть эти метрики в формате json в браузере.Есть ли способ получить доступ к этим настроенным метрикам jmx через spark API?