石墨或grafana可以用来监控pyspark指标吗?

Posted

技术标签:

【中文标题】石墨或grafana可以用来监控pyspark指标吗?【英文标题】:can graphite or grafana used to monitor pyspark metrics? 【发布时间】:2021-03-15 03:42:08 【问题描述】:

在 pyspark 项目中,我们有 pyspark dataframe.foreachPartition(func) 并且在该 func 中我们有一些 aiohttp 调用来传输数据。可以使用哪种类型的监控工具来监控数据速率、吞吐量、经过时间等指标?在这种情况下我们可以使用 statsd 和石墨或 grafana(如果可能的话,它们是首选)?谢谢。

【问题讨论】:

【参考方案1】:

这是我的解决方案。我使用 PySpark 的累加器在驱动节点的每个分区收集指标(http 调用次数、每次调用发送的有效负载等),将这些累加器的值分配给 statsDgauge 变量,并将这些指标发送到Graphite 服务器并最终在 Grafana 仪表板中将它们可视化。到目前为止效果很好。

【讨论】:

您找到从数据帧中提取计数的有效方法了吗?比如加载或保存的数量? 是的,就像我提到的那样,我使用 Spark 的累加器来累积每个分区(执行程序)的指标,然后在驱动程序节点我可以将这些累积的指标分配给 statsDgauge 变量。

以上是关于石墨或grafana可以用来监控pyspark指标吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何集成dropwizard指标来监控cassandra数据库

如何将 pyspark、石墨烯和烧瓶结合在一起?

石墨的默认数据库是啥

pyspark 结构化流不使用 query.lastProgress 或其他标准指标更新查询指标

带有石墨的 grafana 仪表板

如何在 grafana 中使用石墨数据源对指标进行不同的计数?