가져오기 성능 향상

PySpark로 데이터 정제하기

Mike Metzger

Data Engineering Consultant

Spark 클러스터

Spark 클러스터는 두 종류의 프로세스로 구성됩니다

  • 드라이버 프로세스
  • 워커 프로세스
PySpark로 데이터 정제하기

가져오기 성능

중요한 매개변수:

  • 객체 개수(파일, 네트워크 위치 등)
    • 큰 파일보다 많은 객체가 유리
    • 와일드카드로 가져오기 가능
      airport_df = spark.read.csv('airports-*.txt.gz')
      
  • 객체의 전체 크기
    • 유사한 크기의 객체일 때 Spark 성능이 더 좋음
PySpark로 데이터 정제하기

스키마

명확한 스키마는 가져오기 성능을 크게 향상시킵니다

  • 데이터를 여러 번 읽는 것을 방지
  • 가져오기 시 검증 제공
PySpark로 데이터 정제하기

객체 분할 방법

  • OS 유틸리티/스크립트 사용(split, cut, awk)
    split -l 10000 -d largefile chunk-
    
  • 커스텀 스크립트 사용
  • Parquet으로 저장
    df_csv = spark.read.csv('singlelargefile.csv')
    df_csv.write.parquet('data.parquet')
    df = spark.read.parquet('data.parquet')
    
PySpark로 데이터 정제하기

실습해 봅시다!

PySpark로 데이터 정제하기

Preparing Video For Download...