Gelişmiş DataFrame İşlemleri

PySpark'e Giriş

Ben Schmidt

Data Engineer

PySpark'ta Birleştirmeler

  • Ortak sütunlara göre iki veya daha fazla DataFrame'i birleştirin
  • Birleştirme türleri: iç, sol, sağ ve dış, SQL gibi

  • Söz Dizimi: DataFrame1.join(DataFrame2, on="column", how="join_type")

# id sütununda iç birleştirme yapma
df_joined = df1.join(df2, on="id", how="inner")

# Farklı isimlere sahip sütunlarda birleştirme df_joined = df1.join(df2, df1.Id == df2.Name, "inner")
PySpark'e Giriş

Birleştirme İşlemi

  • Aynı şemaya sahip iki DataFrame'in satırlarını birleştirir

  • Söz Dizimi: DataFrame1.union(DataFrame2)

# Aynı şemaya sahip iki DataFrame'in birleştirilmesi
df_union = df1.union(df2)
PySpark'e Giriş

Diziler ve Haritalarla Çalışma

Diziler: Sütunlarda liste saklamak için kullanışlı, söz dizimi: ArrayType(StringType(),False)`

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

# Bir dizi sütunu oluşturma
df = df.withColumn("scores", array(lit(85), lit(90), lit(78)))

Haritalar: Anahtar-değer çiftleri, sözlük benzeri veriler için yararlı, MapType(StringType(),StringType())

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

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

Yapılarla Çalışma

  • Yapılar: Satırlar içinde iç içe yapılar oluşturun Söz Dizimi: StructType(Structfield, Datatype())
# Bir yapı sütunu oluşturma
df = df.withColumn("name_struct", struct("first_name", "last_name"))

# Bir yapı sütunu oluşturma df = df.withColumn("name_struct", struct("first_name", "last_name"))
PySpark'e Giriş

Hadi pratik yapalım!

PySpark'e Giriş

Preparing Video For Download...