ÎncepețiÎncepe gratuit

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 LEAD are o funcție echivalentă în pyspark.sql.functions.
  • Clauzele PARTITION BY și ORDER BY au fiecare câte o funcție echivalentă în notație punct, apelată pe obiectul Window.
  • 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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un DataFrame numit dot_df care conține același rezultat ca df, 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')))
Editează și rulează codul