Mendapatkan Lebih Banyak Data

Rekayasa Fitur dengan PySpark

John Hogue

Lead Data Scientist, General Mills

Pemikiran tentang Data Set Eksternal

PRO

  • Tambah prediktor penting
  • Lengkapi/ganti nilai
  • Murah atau mudah didapat

Menggabungkan Data

KONTRA

  • Bisa memperlambat analisis
  • Mudah menyebabkan kebocoran data
  • Harus kuasai konten data set

Tanggung jawab

Rekayasa Fitur dengan PySpark

Tentang Join

Mengorientasikan arah data kita

  • Kiri: data set awal kita
  • Kanan: data set baru untuk digabungkan

Join SQL

Rekayasa Fitur dengan PySpark

Join DataFrame di PySpark

DataFrame.join(

other, # DataFrame lain untuk digabung
on=None, # Kunci join
how=None) # Jenis join (default 'inner')
Rekayasa Fitur dengan PySpark

Contoh Join 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
Rekayasa Fitur dengan PySpark

Join di SparkSQL

  • Terapkan SQL pada dataframe Anda
# 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
                   """)
Rekayasa Fitur dengan PySpark

Mari Menggabungkan Data!

Rekayasa Fitur dengan PySpark

Preparing Video For Download...