Apache Spark로 데이터 정제 입문

PySpark로 데이터 정제하기

Mike Metzger

Data Engineering Consultant

데이터 정제란?

데이터 정제: 데이터 처리 파이프라인에 사용할 수 있도록 원시 데이터를 준비합니다.

데이터 정제에서 할 수 있는 작업:

  • 텍스트 재포맷/치환
  • 계산 수행
  • 불량·불완전 데이터 제거
PySpark로 데이터 정제하기

왜 Spark로 데이터 정제를 하나요?

일반적 데이터 시스템의 문제:

  • 성능
  • 데이터 흐름 구성

Spark의 강점:

  • 확장 가능
  • 강력한 데이터 처리 프레임워크
PySpark로 데이터 정제하기

데이터 정제 예시

원시 데이터:

name age (years) city
Smith, John 37 Dallas
Wilson, A. 59 Chicago
null 215

정제된 데이터:

last name first name age (months) state
Smith John 444 TX
Wilson A. 708 IL
PySpark로 데이터 정제하기

Spark 스키마

  • DataFrame의 형식을 정의합니다
  • 다양한 데이터 타입 포함 가능:
    • 문자열, 날짜, 정수, 배열
  • 가져올 때 불량 데이터를 필터링 가능
  • 읽기 성능 향상
PySpark로 데이터 정제하기

예시 Spark 스키마

스키마 가져오기

import pyspark.sql.types
peopleSchema = StructType([
  # Define the name field
  StructField('name', StringType(), True),
  # Add the age field
  StructField('age', IntegerType(), True),
  # Add the city field
  StructField('city', StringType(), True)  
])

데이터가 담긴 CSV 읽기

people_df = spark.read.format('csv').load(name='rawdata.csv', schema=peopleSchema)
PySpark로 데이터 정제하기

연습해 봅시다!

PySpark로 데이터 정제하기

Preparing Video For Download...