如何找到 spark RDD/Dataframe 大小? [英] How to find spark RDD/Dataframe size?

查看:80
本文介绍了如何找到 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆