使用 SparkListener 的 Spark 输出拼花大小

Posted

技术标签:

【中文标题】使用 SparkListener 的 Spark 输出拼花大小【英文标题】:Spark ouput parquet size with SparkListener 【发布时间】:2019-05-27 09:30:52 【问题描述】:

我正在使用SparkListeneronStageCompleted,试图从accumulables中挖掘出一些有用的数据。

我有兴趣找出用于监控目的的输出大小。 而输入行数和字节可以从第一阶段的“internal.metrics.input.recordsRead”和“internal.metrics.shuffle.write.bytesWritten”中获取,并且输出行数可以从倒数第二阶段的“internal.metrics.shuffle.write.recordsWritten”中找到,我不知道如何找到输出字节。

解压缩或压缩也是我的选择。我正在使用 Spark 2.10。

【问题讨论】:

【参考方案1】:

看看onTaskEnd,有一个bytesWritten属性。 数据块SparkTaskMetrics 也可能有用。

【讨论】:

感谢您的帮助。不幸的是,bytesWritten 和 recordsWritten 属性始终为 0。 还有另一种方式:taskEnd.taskInfo.accumulables(6).value.get [link] (tutel.me/c/programming/questions/44528055/…) 查看这个链接了解更多详情。 是的。但是,我只能访问我已经从 stageEnd 获得的“输出行数”。顺便说一句,奇怪的是,它出现了两次。并且没有与写入的字节相关的累积。

以上是关于使用 SparkListener 的 Spark 输出拼花大小的主要内容,如果未能解决你的问题,请参考以下文章

spark的运行指标监控

spark listener

StreamingListener记录(spark-2.2.0)

Spark 的 Listener LisenerBus源码分析

科普Spark,Spark是啥,如何使用Spark

科普Spark,Spark是什么,如何使用Spark