Začněte nyníZačněte zdarma

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 LEAD má ekvivalentní funkci v pyspark.sql.functions.
  • Klauzule PARTITION BY a ORDER BY mají každá ekvivalentní funkci v dot notaci, která se volá na objektu Window.
  • 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

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř dataframe dot_df, který obsahuje stejný výsledek jako df, 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')))
Upravit a spustit kód