Teilen über


last

Gibt den letzten Wert in einer Gruppe zurück. Die Funktion gibt standardmäßig die letzten angezeigten Werte zurück. Er gibt den letzten Wert ohne Null zurück, der angezeigt wird, wenn ignoreNulls auf "true" festgelegt ist. Wenn alle Werte null sind, wird NULL zurückgegeben. Die Funktion ist nicht deterministisch, da ihre Ergebnisse von der Reihenfolge der Zeilen abhängen, die nach einem Shuffle möglicherweise nicht deterministisch sind.

Syntax

from pyspark.sql import functions as sf

sf.last(col, ignorenulls=False)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder Spaltenname Spalte, für die der letzte Wert abgerufen werden soll.
ignorenulls Boolesch Wenn der letzte Wert null ist, suchen Sie nach einem Wert ungleich Null. Standardmäßig false.

Rückkehr

pyspark.sql.Column: letzter Wert der Gruppe.

Examples

from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", 2), ("Bob", 5), ("Alice", None)], ("name", "age"))
df = df.orderBy(df.age.desc())
df.groupby("name").agg(sf.last("age")).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|     NULL|
|  Bob|        5|
+-----+---------+

Um nullwerte zu ignorieren, legen Sie folgendes ignorenulls fest:True

df.groupby("name").agg(sf.last("age", ignorenulls=True)).orderBy("name").show()
+-----+---------+
| name|last(age)|
+-----+---------+
|Alice|        2|
|  Bob|        5|
+-----+---------+