Parquet 이해하기

PySpark로 데이터 정제하기

Mike Metzger

Data Engineering Consultant

CSV 파일의 어려움

  • 스키마 미정의
  • 중첩 데이터는 별도 처리 필요
  • 제한된 인코딩 형식
PySpark로 데이터 정제하기

Spark와 CSV 파일

  • 파싱이 느림
  • 파일 필터링 불가(프레디케이트 푸시다운 없음)
  • 중간 사용 시마다 스키마 재정의 필요
PySpark로 데이터 정제하기

Parquet 형식

  • 컬럼 지향 데이터 형식
  • Spark 및 기타 처리 프레임워크 지원
  • 프레디케이트 푸시다운 지원
  • 스키마 정보를 자동 저장
PySpark로 데이터 정제하기

Parquet 다루기

Parquet 파일 읽기

df = spark.read.format('parquet').load('filename.parquet')
df = spark.read.parquet('filename.parquet')

Parquet 파일 쓰기

df.write.format('parquet').save('filename.parquet')
df.write.parquet('filename.parquet')
PySpark로 데이터 정제하기

Parquet과 SQL

SparkSQL 연산의 저장소로 Parquet 사용

flight_df = spark.read.parquet('flights.parquet')
flight_df.createOrReplaceTempView('flights')
short_flights_df = spark.sql('SELECT * FROM flights WHERE flightduration < 100')
PySpark로 데이터 정제하기

연습해 봅시다!

PySpark로 데이터 정제하기

Preparing Video For Download...