Kom igångKom igång gratis

Aggregering med dot notation och SQL

Följande kod använder SQL för att sätta värdet på en dataram som heter df.

df = spark.sql("""
SELECT *, 
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next 
FROM schedule
""")
  • LEAD-satsen har en motsvarande funktion i pyspark.sql.functions.
  • Satserna PARTITION BY och ORDER BY har vardera en motsvarande dot notation-funktion som anropas på Window-objektet.
  • Följande importer är tillgängliga:
    • from pyspark.sql import Window
    • from pyspark.sql.functions import lead

Den här övningen är en del av kursen

Introduktion till Spark SQL i Python

Visa kurs

Övningsinstruktioner

  • Skapa en dataram som heter dot_df och som innehåller exakt samma resultat som df, men med dot notation i stället för SQL.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Obtain the identical result using dot notation 
dot_df = df.withColumn('time_next', ____('time', 1)
        .over(____.____('train_id')
        .____('time')))
Redigera och kör kod