PySpark로 배우는 빅데이터 기초
Upendra Devisetty
Science Analyst, CyVerse
PySpark SQL은 구조적 데이터용 Spark 라이브러리입니다. 데이터와 연산의 구조 정보를 더 제공합니다
PySpark DataFrame은 열 이름이 있는 불변 분산 컬렉션입니다
구조적(예: 관계형 DB)과 반구조적 데이터(예: JSON) 처리를 지원합니다
DataFrame API는 Python, R, Scala, Java에서 제공합니다
PySpark DataFrame은 SQL 쿼리(SELECT * from table)와 표현식 메서드(df.select()) 모두를 지원합니다
SparkContext는 RDD 생성을 위한 기본 진입점입니다
SparkSession은 Spark DataFrame과 상호작용하는 단일 진입점을 제공합니다
SparkSession으로 DataFrame 생성, 등록, SQL 쿼리 실행을 수행합니다
PySpark 셸에서 SparkSession은 spark로 제공됩니다
PySpark에서 DataFrame 생성 방법 두 가지
기존 RDD에서 SparkSession의 createDataFrame() 사용
다양한 데이터 소스(CSV, JSON, TXT)에서 SparkSession의 read 사용
스키마는 데이터를 제어하고 쿼리 최적화를 돕습니다
스키마는 열 이름, 데이터 타입, 빈 값 등 정보를 제공합니다
iphones_RDD = sc.parallelize([
("XS", 2018, 5.65, 2.79, 6.24),
("XR", 2018, 5.94, 2.98, 6.84),
("X10", 2017, 5.65, 2.79, 6.13),
("8Plus", 2017, 6.23, 3.07, 7.12)
])
names = ['Model', 'Year', 'Height', 'Width', 'Weight']
iphones_df = spark.createDataFrame(iphones_RDD, schema=names)type(iphones_df)
pyspark.sql.dataframe.DataFrame
df_csv = spark.read.csv("people.csv", header=True, inferSchema=True)
df_json = spark.read.json("people.json")
df_txt = spark.read.txt("people.txt")
파일 경로와 두 가지 선택 매개변수
두 가지 선택 매개변수
header=True, inferSchema=TruePySpark로 배우는 빅데이터 기초