Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja kolekcji: sortuje tablicę wejściową w kolejności rosnącej. Elementy tablicy wejściowej muszą być uporządkowane. Elementy null zostaną umieszczone na końcu zwracanej tablicy. Obsługuje program Spark Connect.
Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz array_sort funkcja.
Składnia
from pyspark.databricks.sql import functions as dbf
dbf.array_sort(col=<col>, comparator=<comparator>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column lub str |
Nazwa kolumny lub wyrażenia. |
comparator |
callable, fakultatywny |
Funkcja binarna zwracająca ujemną liczbę całkowitą, 0 lub dodatnią liczbę całkowitą, ponieważ pierwszy element jest mniejszy niż, równy lub większy niż drugi element. Jeśli funkcja komparatora zwróci wartość null, funkcja zakończy się niepowodzeniem i zgłosi błąd. |
Zwraca
pyspark.sql.Column: posortowana tablica.
Przykłady
Przykład 1. Sortowanie tablicy w domyślnej kolejności rosnącej
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([([2, 1, None, 3],),([1],),([],)], ['data'])
df.select(dbf.array_sort(df.data).alias('r')).collect()
[Row(r=[1, 2, 3, None]), Row(r=[1]), Row(r=[])]
Przykład 2. Sortowanie tablicy za pomocą niestandardowego komparatora
from pyspark.databricks.sql import functions as dbf
df = spark.createDataFrame([(["foo", "foobar", None, "bar"],),(["foo"],),([],)], ['data'])
df.select(dbf.array_sort(
"data",
lambda x, y: dbf.when(x.isNull() | y.isNull(), dbf.lit(0)).otherwise(dbf.length(y) - dbf.length(x))
).alias("r")).collect()
[Row(r=['foobar', 'foo', None, 'bar']), Row(r=['foo']), Row(r=[])]