Вступ до PySpark
Ben Schmidt
Data Engineer
Типи join: inner, left, right та outer, як у SQL
Синтаксис: DataFrame1.join(DataFrame2, on="column", how="join_type")
# Об'єднання за стовпцем id за допомогою inner join df_joined = df1.join(df2, on="id", how="inner")# Об'єднання за стовпцями з різними назвами df_joined = df1.join(df2, df1.Id == df2.Name, "inner")
Об'єднує рядки з двох DataFrame з однаковою схемою
Синтаксис: DataFrame1.union(DataFrame2)
# Union двох DataFrame з ідентичними схемами
df_union = df1.union(df2)
Масиви (Arrays): зручно зберігати списки в стовпцях, синтаксис: ArrayType(StringType(),False)`
from pyspark.sql.functions import array, struct, lit
# Створення стовпця-масиву
df = df.withColumn("scores", array(lit(85), lit(90), lit(78)))
Мапи (Maps): пари ключ-значення, зручно для даних як у словнику, 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())# Створення стовпця-структури df = df.withColumn("name_struct", struct("first_name", "last_name"))# Створення стовпця-структури df = df.withColumn("name_struct", struct("first_name", "last_name"))
Вступ до PySpark