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
LEADa une fonction équivalente danspyspark.sql.functions. - Les clauses
PARTITION BYetORDER BYont chacune une fonction équivalente en notation par points, appelée sur l'objetWindow. - 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
Instructions de l’exercice
- Créez un DataFrame nommé
dot_dfqui 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')))