Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce kolekce: Seřadí vstupní pole ve vzestupném pořadí. Prvky vstupního pole musí být seřazené. Prvky null budou umístěny na konci vráceného pole. Podporuje Spark Connect.
Odpovídající funkci SQL Databricks vizte funkcearray_sort.
Syntaxe
from pyspark.sql import functions as dbf
dbf.array_sort(col=<col>, comparator=<comparator>)
Parametry
| Parameter | Typ | Description |
|---|---|---|
col |
pyspark.sql.Column nebo str |
Název sloupce nebo výrazu |
comparator |
callablevolitelný |
Binární funkce, která vrací záporné celé číslo, 0 nebo kladné celé číslo, protože první prvek je menší než, rovno nebo větší než druhý prvek. Pokud srovnávací funkce vrátí hodnotu null, funkce selže a vyvolá chybu. |
Návraty
pyspark.sql.Column: seřazené pole.
Examples
Příklad 1: Řazení pole ve výchozím vzestupném pořadí
from pyspark.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=[])]
Příklad 2: Řazení pole s vlastním porovnávačem
from pyspark.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=[])]