CommencezCommencez gratuitement

Agrégats en notation par points SQL

Le code suivant utilise SQL pour définir la valeur d'un DataFrame appelé df.

df = spark.sql("""
SELECT *, 
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next 
FROM schedule
""")
  • La clause LEAD a une fonction équivalente dans pyspark.sql.functions.
  • Les clauses PARTITION BY et ORDER BY ont chacune une fonction équivalente en notation par points, appelée sur l'objet Window.
  • Les importations suivantes sont disponibles :
    • from pyspark.sql import Window
    • from pyspark.sql.functions import lead

Cette activité fait partie du cours

Introduction à Spark SQL en Python

Voir le cours

Instructions de l’exercice

  • Créez un DataFrame nommé dot_df qui contient un résultat identique à df, en utilisant la notation par points plutôt que SQL.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Obtain the identical result using dot notation 
dot_df = df.withColumn('time_next', ____('time', 1)
        .over(____.____('train_id')
        .____('time')))
Modifier et exécuter le code