前景说明
spark读取到文件后,需要统计一下读取的文件大小(处理的文件大小)
解决办法:使用spark提供的累加器
代码
//声明个累加器
val dataSize=spark.sparkContext.longAccumulator("dataSize")
//spark读取的数据
val df:DataFream = ...
df.foreach(a=>{
dataSize.add(a.toString().getBytes("UTF-8").length)
})
//测试时,如果没记错的话,读取的文件无汉字时,统计大小正常;有汉字时,统计就偏大些
//最后的dataSize的值就是统计的文件大小