데이터 더 가져오기

PySpark로 하는 Feature Engineering

John Hogue

Lead Data Scientist, General Mills

외부 데이터셋에 대한 생각

장점

  • 중요한 예측 변수 추가
  • 값 보완/대체
  • 비용 낮거나 획득 쉬움

데이터 결합

단점

  • 분석이 느려질 수 있음
  • 데이터 누수 유발 쉬움
  • 데이터셋 도메인 전문가가 되어야 함

책임

PySpark로 하는 Feature Engineering

조인 소개

데이터 방향 정리

  • 왼쪽: 시작 데이터셋
  • 오른쪽: 통합할 새 데이터셋

SQL 조인

PySpark로 하는 Feature Engineering

PySpark DataFrame 조인

DataFrame.join(

other, # 병합할 다른 DataFrame
on=None, # 조인 키
how=None) # 조인 유형 (기본값 'inner')
PySpark로 하는 Feature Engineering

PySpark 조인 예시

# Inspect dataframe head
hdf.show(2)
+----------+--------------------+
|        dt|                  nm|
+----------+--------------------+
|2012-01-02|        New Year Day|
|2012-01-16|Martin Luther Kin...|
+----------+--------------------+
only showing top 2 rows
# Specify join conditon
cond = [df['OFFMARKETDATE'] == hdf['dt']]

# Join two hdf onto df df = df.join(hdf, on=cond, 'left')
# How many sales occurred on bank holidays? df.where(~df['nm'].isNull()).count()
0
PySpark로 하는 Feature Engineering

SparkSQL 조인

  • 데이터프레임에 SQL 적용하기
# Register the dataframe as a temp table
df.createOrReplaceTempView("df")
hdf.createOrReplaceTempView("hdf")
# Write a SQL Statement
sql_df = spark.sql("""
                      SELECT 
                        *
                      FROM df
                      LEFT JOIN hdf
                      ON df.OFFMARKETDATE = hdf.dt
                   """)
PySpark로 하는 Feature Engineering

데이터를 조인해 봅시다!

PySpark로 하는 Feature Engineering

Preparing Video For Download...