PySpark 입문
Benjamin Schmidt
Data Engineer
spark.read.csv("path/to/file.csv")
spark.read.json("path/to/file.json")
spark.read.parquet("path/to/file.parquet")
inferSchema=True로 데이터에서 스키마 추론 가능
고정 구조엔 수동 스키마 지정 권장 — 더 정확한 제어 가능

IntegerType: 정수1, 3478, -18904569223347758063.14159"This is an example of a string."# 필요한 타입 클래스 임포트
from pyspark.sql.types import (StructType,
StructField, IntegerType,
StringType, ArrayType)
# 스키마 구성
schema = StructType([
StructField("id", IntegerType(), True),
StructField("name", StringType(), True),
StructField("scores", ArrayType(IntegerType()), True)
])
# 스키마 적용
df = spark.createDataFrame(data, schema=schema)
.select().filter() 또는 .where().sort()# name, age 컬럼만 선택하여 표시
df.select("name", "age").show()
# age > 30 필터링
df.filter(df["age"] > 30).show()
# 특정 값과 일치하도록 Where 사용
df.where(df["age"] == 30).show()
# age로 정렬
df.sort("age", ascending=False).show()
.sort() 또는 .orderBy()로 정렬na.drop()으로 null 포함 행 제거# age 컬럼으로 정렬
df.sort("age", ascending=False).show()
# 결측값 제거
df.na.drop().show()
spark.read_json(): JSON에서 로드spark.read.schema(): 스키마 명시적 지정.na.drop(): 결측값 있는 행 삭제.select(), .filter(), .sort(), .orderBy(): 기본 데이터 조작 함수PySpark 입문