IniziaInizia gratis

SQL con dot notation per aggregazioni

Il codice seguente usa SQL per impostare il valore di un dataframe chiamato df.

df = spark.sql("""
SELECT *, 
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next 
FROM schedule
""")
  • La clausola LEAD ha una funzione equivalente in pyspark.sql.functions.
  • Le clausole PARTITION BY e ORDER BY hanno ciascuna una funzione equivalente in dot notation che si invoca sull'oggetto Window.
  • Sono disponibili i seguenti import:
    • from pyspark.sql import Window
    • from pyspark.sql.functions import lead

Questo esercizio fa parte del corso

Introduzione a Spark SQL in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea un dataframe chiamato dot_df che contenga lo stesso risultato di df, usando la dot notation invece di SQL.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Obtain the identical result using dot notation 
dot_df = df.withColumn('time_next', ____('time', 1)
        .over(____.____('train_id')
        .____('time')))
Modifica ed esegui il codice