Operasi DataFrame Lanjutan

Pengantar PySpark

Ben Schmidt

Data Engineer

Join di PySpark

  • Gabungkan baris dari dua atau lebih DataFrame berdasarkan kolom yang sama
  • Jenis join: inner, left, right, dan outer, seperti SQL

  • Sintaks: DataFrame1.join(DataFrame2, on="column", how="join_type")

# Join pada kolom id menggunakan inner join
df_joined = df1.join(df2, on="id", how="inner")

# Join pada kolom dengan nama berbeda df_joined = df1.join(df2, df1.Id == df2.Name, "inner")
Pengantar PySpark

Operasi Union

  • Menggabungkan baris dari dua DataFrame dengan skema yang sama

  • Sintaks: DataFrame1.union(DataFrame2)

# Union dari dua DataFrame dengan skema identik
df_union = df1.union(df2)
Pengantar PySpark

Bekerja dengan Array dan Map

Array: Berguna untuk menyimpan daftar dalam kolom, sintaks: ArrayType(StringType(),False)`

from pyspark.sql.functions import array, struct, lit

# Membuat kolom array
df = df.withColumn("scores", array(lit(85), lit(90), lit(78)))

Map: Pasangan kunci-nilai, berguna untuk data seperti kamus, MapType(StringType(),StringType())

from pyspark.sql.types import StructField, StructType, StringType, MapType

schema = StructType([
    StructField('name', StringType(), True),
    StructField('properties', MapType(StringType(), StringType()), True)
])
Pengantar PySpark

Bekerja dengan Struct

  • Struct: Membuat struktur bersarang dalam baris Sintaks: StructType(Structfield, Datatype())
# Membuat kolom struct
df = df.withColumn("name_struct", struct("first_name", "last_name"))

# Membuat kolom struct df = df.withColumn("name_struct", struct("first_name", "last_name"))
Pengantar PySpark

Mari Berlatih!

Pengantar PySpark

Preparing Video For Download...