[SCALA] 어떻게 스파크 RDD / Dataframe 크기를 찾는 방법은?
SCALA어떻게 스파크 RDD / Dataframe 크기를 찾는 방법은?
나는 RDD / 스파크에서 dataframe 크기를 찾는 방법 scala.But에서 파일 크기를 찾는 방법을 알아?
규모 :
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 크기를 찾는 방법은?
해결법
-
==============================
1.당신은 단순히 RDD의 행 수를 계산하기 위해 찾고 있다면, 수행
당신은 단순히 RDD의 행 수를 계산하기 위해 찾고 있다면, 수행
val distFile = sc.textFile(file) println(distFile.count)
당신이 바이트에 관심이 있다면, 당신은 SizeEstimator을 사용할 수 있습니다 :
import org.apache.spark.util.SizeEstimator println(SizeEstimator.estimate(distFile))
https://spark.apache.org/docs/latest/api/java/org/apache/spark/util/SizeEstimator.html
-
==============================
2.예 마지막으로 나는 해결책을 얻었다. 이 라이브러리를 포함합니다.
예 마지막으로 나는 해결책을 얻었다. 이 라이브러리를 포함합니다.
import org.apache.spark.sql.Row import org.apache.spark.rdd.RDD import org.apache.spark.rdd import org.apache.spark.util.SizeEstimator
어떻게 RDD 크기를 찾을 수 있습니다 :
def calcRDDSize(rdd: RDD[String]): Long = { rdd.map(_.getBytes("UTF-8").length.toLong) .reduce(_+_) //add the sizes together }
기능 DataFrame 크기를 찾을 수 있습니다 : (이 기능은 내부적으로 RDD에 DataFrame 변환)
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)
-
==============================
3.다음은 자주 SizeEstimator.I의 사용으로 하나의 방법 떨어져이다
다음은 자주 SizeEstimator.I의 사용으로 하나의 방법 떨어져이다
이 캐시되는 경우 RDD에 대한 코드에서 알고, 더 정확하게, 얼마나 많은 해당 파티션의 메모리에 캐시 얼마나 많은 것은 디스크에 캐시됩니다? 스토리지 레벨을 얻기 위해, 또한 현재 실제 캐싱 status.to 알고 메모리 소비를 알고 싶어요.
스파크 컨텍스트) (현상 API 메소드 getRDDStorageInfo을 갖는다 때때로 당신은이를 사용할 수 있습니다.
from https://stackoverflow.com/questions/35008123/how-to-find-spark-rdd-dataframe-size by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 스칼라의 케이스 클래스에 대한 과부하 생성자? (0) | 2019.11.11 |
---|---|
[SCALA] 스칼라에서, 무엇을 정확히 수행 '발 A : A = _'(밑줄) 평균? (0) | 2019.11.11 |
[SCALA] 스칼라의 기호 리터럴에 대한 몇 가지 예를 들어, 사용 사례는 무엇입니까? (0) | 2019.11.11 |
[SCALA] 왜 contravariant 위치 매개 변수는 무엇입니까? (0) | 2019.11.11 |
[SCALA] 어떻게 튜플에 함수를 적용? (0) | 2019.11.11 |