Agregare cu notație punct vs. SQL
Codul următor folosește SQL pentru a seta valoarea unui DataFrame numit df.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
- Clauza
LEADare o funcție echivalentă înpyspark.sql.functions. - Clauzele
PARTITION BYșiORDER BYau fiecare câte o funcție echivalentă în notație punct, apelată pe obiectulWindow. - Sunt disponibile următoarele importuri:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
Acest exercițiu face parte din cursul
Introducere în Spark SQL în Python
Instrucțiuni pentru exercițiu
- Creează un DataFrame numit
dot_dfcare conține același rezultat cadf, folosind notația punct în loc de SQL.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))