Introduction à PySpark
Ben Schmidt
Data Engineer
Types de jointures : interne, gauche, droite et externe, comme en SQL
Syntaxe : DataFrame1.join(DataFrame2, on="column", how="join_type")
# Jointure sur la colonne id avec une jointure interne df_joined = df1.join(df2, on="id", how="inner")# Jointure sur des colonnes avec des noms différents df_joined = df1.join(df2, df1.Id == df2.Name, "inner")
Combine des lignes de deux DataFrames avec le même schéma
Syntaxe : DataFrame1.union(DataFrame2)
# Union de deux DataFrames avec des schémas identiques
df_union = df1.union(df2)
Tableaux : Utiles pour stocker des listes dans des colonnes, syntaxe : ArrayType(StringType(),False)`
from pyspark.sql.functions import array, struct, lit
# Créer une colonne de tableau
df = df.withColumn("scores", array(lit(85), lit(90), lit(78)))
Maps : Paires clé-valeur, utiles pour des données de type dictionnaire, MapType(StringType(),StringType())
from pyspark.sql.types import StructField, StructType, StringType, MapType
schema = StructType([
StructField('name', StringType(), True),
StructField('properties', MapType(StringType(), StringType()), True)
])
StructType(Structfield, Datatype())# Créer une colonne struct df = df.withColumn("name_struct", struct("first_name", "last_name"))# Créer une colonne struct df = df.withColumn("name_struct", struct("first_name", "last_name"))
Introduction à PySpark