PySpark 소개

PySpark 입문

Benjamin Schmidt

Data Engineer

강사 소개

  • PySpark로 거의 10년의 데이터 경험
  • PySpark를 머신 러닝, ETL 등 다양한 작업에 활용

  • 모두를 위한 새 도구 교육에 열정적입니다

-Ben Schmidt

PySpark 입문

PySpark란?

  • 분산 데이터 처리: 클러스터 전반의 대규모 데이터 처리에 적합

  • CSV, Parquet, JSON 등 다양한 형식 지원

  • SQL 통합: Python과 SQL 문법 모두로 질의 가능

  • 대규모 처리에 최적화된 속도

데이터_에코시스템

PySpark 입문

PySpark는 언제 사용하나요?

  • 빅데이터 분석

  • 분산 데이터 처리

  • 실시간 스트리밍

  • 대규모 데이터셋 머신 러닝

  • ETL 및 ELT 파이프라인

  • 다양한 데이터 소스 활용:

    1. CSV
    2. JSON
    3. Parquet
    4. 기타 다수
PySpark 입문

Spark 클러스터

마스터 노드

  • 클러스터 관리, 작업 조정, 잡 스케줄링

워커 노드

  • 마스터가 할당한 작업 실행
  • 실제 연산을 수행하고 데이터를 메모리/디스크에 저장

마스터 노드

워커 노드

PySpark 입문

SparkSession

  • SparkSession은 Spark 클러스터에 연결하며 PySpark 사용에 필수입니다.
# Import SparkSession
from pyspark.sql import SparkSession

# Initialize a SparkSession
spark = SparkSession.builder.appName("MySparkApp").getOrCreate()

$$

  • .builder()는 세션을 설정합니다
  • getOrCreate()는 세션을 생성하거나 반환합니다
  • .appName()은 여러 세션 관리를 돕습니다
PySpark 입문

PySpark DataFrame

  • 다른 DataFrame과 유사하되
  • PySpark에 최적화됨
# Import and initialize a Spark session
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("MySparkApp").getOrCreate()

# Create a DataFrame
census_df = spark.read.csv("census.csv",
                ["gender","age","zipcode","salary_range_usd","marriage_status"])

# Show the DataFrame
census_df.show()

PySpark 입문

연습해 봅시다!

PySpark 입문

Preparing Video For Download...