This is the code I am writing using SparkListener. I am using Spark 2.4.4.
class CustomListener extends SparkListener {
var recordsReadCount = 0L
var recordsWrittenCount = 0L
override def onTaskEnd(taskEnd: SparkListenerTaskEnd) {
synchronized {
if(taskEnd.taskMetrics.inputMetrics!=None) {
recordsReadCount += taskEnd.taskMetrics.inputMetrics.recordsRead
}
if(taskEnd.taskMetrics.outputMetrics!=None) {
recordsWrittenCount += taskEnd.taskMetrics.outputMetrics.recordsWritten
}
println(s"WRITTEN : $recordsWrittenCount READ : $recordsReadCount")
}
}
}
I am getting non-zero result for input metrics but I am unable to get result for output metrics.
And yes I am writing data in delta format
I am getting "WRITTEN : 0" as output. Calling in main (sc is SparkSession):
val myListener=new CustomListener
sc.sparkContext.addSparkListener(myListener)
// my write operation goes here
sc.sparkContext.removeSparkListener(myListener)
recordsReadCount? - ShaidorecordsReadCount,although I have write.save operation , therecordsWrittenCountis always zero.. AndtaskEnd.taskMetrics.outputMetricsis always not equal to None , i.e.,the condition is true - sk_211