如何找到 spark RDD/Dataframe 大小? [英] How to find spark RDD/Dataframe size?
本文介绍了如何找到 spark RDD/Dataframe 大小?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我知道如何在 scala 中找到文件大小.但如何在 spark 中找到 RDD/数据帧大小?
I know how to find the file size in scala.But how to find a RDD/dataframe size in spark?
斯卡拉:
object Main extends App {
val file = new java.io.File("hdfs://localhost:9000/samplefile.txt").toString()
println(file.length)
}
火花:
val distFile = sc.textFile(file)
println(distFile.length)
但是如果我处理它没有得到文件大小.如何找到RDD大小?
but if i process it not getting file size. How to find the RDD size?
推荐答案
是的,我终于找到了解决方案.包括这些库.
Yes Finally I got the solution. Include these libraries.
import org.apache.spark.sql.Row
import org.apache.spark.rdd.RDD
import org.apache.spark.rdd
如何找到 RDD 大小:
def calcRDDSize(rdd: RDD[String]): Long = {
rdd.map(_.getBytes("UTF-8").length.toLong)
.reduce(_+_) //add the sizes together
}
查找数据帧大小的函数:(这个函数只是在内部将DataFrame转换为RDD)
Function to find DataFrame size: (This function just convert DataFrame to RDD internally)
val dataFrame = sc.textFile(args(1)).toDF() // you can replace args(1) with any path
val rddOfDataframe = dataFrame.rdd.map(_.toString())
val size = calcRDDSize(rddOfDataframe)
这篇关于如何找到 spark RDD/Dataframe 大小?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文