728x90
반응형

여러가지 이유로 Spark DataFrame 의 row count 보다는 크기를 계산하여야 한다.

  • Broadcast join 이 적합한지 확인용
  • Executor 자원을 얼마나 할당할지 확인용
  • 데이터 크기를 비교하여 DataFrame 이 정상적으로 생긴 것인지 확인용
  • 다양하게...

disk 에 저장하지 않고도 Spark 에서 DataFrame 의 크기를 알려주는 API 가 있다.

import org.apache.spark.util.SizeEstimator
// dataframe 생성
SizeEstimator.estimate(df)

이런 방법으로 데이터 크기를 측정할 수 있다.

728x90
반응형
728x90
반응형

Spark Dataframe 에서 칼럼 사이즈 구하기: 스칼라 & 파이썬

1. Scala

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._

// 스파크 세션 생성
val spark = SparkSession.builder()
  .appName("ArrayLengthExample")
  .getOrCreate()

// 예제 데이터프레임 생성
import spark.implicits._
val df = Seq(
  (Array(1.0, 2.0, 3.0)),
  (Array(4.0, 5.0)),
  (Array.empty[Double])
).toDF("double_array")

// double_array 배열의 길이를 계산
val dfWithArrayLength = df.withColumn(
  "array_length",
  size(col("double_array"))
)

// 결과 출력
dfWithArrayLength.show(truncate = false)

 

2. Python

from pyspark.sql import SparkSession
from pyspark.sql.functions import col, size

# 스파크 세션 생성
spark = SparkSession.builder \
    .appName("ArrayLengthExample") \
    .getOrCreate()

# 예제 데이터프레임 생성
data = [
    ([1.0, 2.0, 3.0],),
    ([4.0, 5.0],),
    ([],)
]

df = spark.createDataFrame(data, ["double_array"])

# double_array 배열의 길이를 계산
df_with_array_length = df.withColumn(
    "array_length",
    size(col("double_array"))
)

# 결과 출력
df_with_array_length.show(truncate=False)
728x90
반응형

+ Recent posts