Geavanceerde DataFrame-bewerkingen

Introductie tot PySpark

Ben Schmidt

Data Engineer

Joins in PySpark

  • Combineer rijen van twee of meer DataFrames op basis van gemeenschappelijke kolommen
  • Soorten joins: inner, left, right en outer, zoals in SQL

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

# Joinen op id-kolom met een inner join
df_joined = df1.join(df2, on="id", how="inner")

# Joinen op kolommen met verschillende namen df_joined = df1.join(df2, df1.Id == df2.Name, "inner")
Introductie tot PySpark

Union-operatie

  • Combineert rijen van twee DataFrames met dezelfde schema

  • Syntax: DataFrame1.union(DataFrame2)

# Union van twee DataFrames met identieke schema's
df_union = df1.union(df2)
Introductie tot PySpark

Werken met Arrays en Maps

Arrays: Handig voor het opslaan van lijsten binnen kolommen, syntax: ArrayType(StringType(),False)`

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

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

Maps: Sleutel-waarde paren, nuttig voor dictionary-achtige data, MapType(StringType(),StringType())

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

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

Werken met Structs

  • Structs: Maak geneste structuren binnen rijen Syntax: StructType(Structfield, Datatype())
# Maak een struct-kolom
df = df.withColumn("name_struct", struct("first_name", "last_name"))

# Maak een struct-kolom df = df.withColumn("name_struct", struct("first_name", "last_name"))
Introductie tot PySpark

Aan de slag!

Introductie tot PySpark

Preparing Video For Download...