如何使用Apache火花指标吗

学习如何使用Apache引起砖的指标。

写的亚当Pavlacka

去年发表在:2022年5月16日

本文给出一个示例如何监视Apache火花组件使用火花可配置的指标体系。具体地说,它显示了如何设置一个新的源和使一个水槽。

火花的详细信息组件可用于度量收集,包括水槽开箱即用的支持,遵循上面的文档链接。

删除

信息

有几种其他方法来收集指标洞察如何将火花工作表现,也不是本文介绍:

  • SparkStatusTracker (,API):监控工作,阶段,或任务的进展
  • StreamingQueryListener (,API):拦截事件流
  • SparkListener ():从火花拦截事件调度器

使用其他第三方工具来监控信息在砖火花的工作,看到监视性能(AWS|Azure)。

这个指标收集系统是如何工作的呢?实例化后,每个执行器创建一个连接到驱动程序通过指标。

第一步是编写一个类,它扩展了特征:

{% scala类MySource扩展来源覆盖val sourceName:字符串=“MySource”覆盖val metricRegistry: metricRegistry = new metricRegistry val FOO:直方图= metricRegistry.histogram (MetricRegistry.name (“fooHistory”)) val FOO_COUNTER: Counter = metricRegistry.counter (MetricRegistry.name (“fooCounter”))}

下一步是使下沉。在这个例子中,打印到控制台的指标:

% scala val火花:SparkSession = SparkSession .builder部分(“地方[*]”).appName . config (“spark.driver (“MySourceDemo”)。主机”、“localhost”) . config (“spark.metrics.conf。* .sink.console。类”、“org.apache.spark.metrics.sink.ConsoleSink”) .getOrCreate ()
删除

信息

水槽的度量,普罗米修斯,您可以使用该第三方库:https://github.com/banzaicloud/spark-metrics

最后一步是实例化与SparkEnv源和注册:

% scala val来源:MySource = new MySource SparkEnv.get.metricsSystem.registerSource(源)

你可以把一个完整的、可信赖的例子https://github.com/newroyker/meter



这篇文章有用吗?