Agregace: dot notace vs. SQL
Následující kód používá SQL k nastavení hodnoty dataframu df.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
- Klauzule
LEADmá ekvivalentní funkci vpyspark.sql.functions. - Klauzule
PARTITION BYaORDER BYmají každá ekvivalentní funkci v dot notaci, která se volá na objektuWindow. - K dispozici jsou následující importy:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
Toto cvičení je součástí kurzu
Úvod do Spark SQL v Pythonu
Pokyny k cvičení
- Vytvoř dataframe
dot_df, který obsahuje stejný výsledek jakodf, ale místo SQL použij dot notaci.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))