Aggregat-Punkt-SQL
Der folgende Code verwendet SQL, um den Wert eines DataFrames namens df zu setzen.
df = spark.sql("""
SELECT *,
LEAD(time,1) OVER(PARTITION BY train_id ORDER BY time) AS time_next
FROM schedule
""")
- Die
LEAD-Klausel hat eine entsprechende Funktion inpyspark.sql.functions. - Die Klauseln
PARTITION BYundORDER BYhaben jeweils eine entsprechende Funktion in der Punktnotation, die auf demWindow-Objekt aufgerufen wird. - Die folgenden Importe sind verfügbar:
- from pyspark.sql import Window
- from pyspark.sql.functions import lead
Diese Übung ist Teil des Kurses
Einführung in Spark SQL mit Python
Anleitung zur Übung
- Erstelle einen DataFrame namens
dot_df, der mit Punktnotation statt SQL dasselbe Ergebnis wiedfenthält.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Obtain the identical result using dot notation
dot_df = df.withColumn('time_next', ____('time', 1)
.over(____.____('train_id')
.____('time')))