Freigeben über


sort_array

Sortiert das Eingabearray in aufsteigender oder absteigender Reihenfolge nach der natürlichen Reihenfolge der Arrayelemente. Null-Elemente werden am Anfang des zurückgegebenen Arrays in aufsteigender Reihenfolge oder am Ende des zurückgegebenen Arrays in absteigender Reihenfolge platziert.

Syntax

from pyspark.sql import functions as sf

sf.sort_array(col, asc=True)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder str Name der Spalte oder des Ausdrucks.
asc bool, optional Gibt an, ob die Sortierung in aufsteigender oder absteigender Reihenfolge erfolgen soll. Wenn asc "True" ist (Standard), wird die Sortierung in aufsteigender Reihenfolge ausgeführt. Wenn False, dann in absteigender Reihenfolge.

Rückkehr

pyspark.sql.Column: Sortiertes Array.

Examples

Beispiel 1: Sortieren eines Arrays in aufsteigender Reihenfolge

import pyspark.sql.functions as sf
df = spark.createDataFrame([([2, 1, None, 3],)], ['data'])
df.select(sf.sort_array(df.data)).show()
+----------------------+
|sort_array(data, true)|
+----------------------+
|       [NULL, 1, 2, 3]|
+----------------------+

Beispiel 2: Sortieren eines Arrays in absteigender Reihenfolge

import pyspark.sql.functions as sf
df = spark.createDataFrame([([2, 1, None, 3],)], ['data'])
df.select(sf.sort_array(df.data, asc=False)).show()
+-----------------------+
|sort_array(data, false)|
+-----------------------+
|        [3, 2, 1, NULL]|
+-----------------------+

Beispiel 3: Sortieren eines Arrays mit einem einzelnen Element

import pyspark.sql.functions as sf
df = spark.createDataFrame([([1],)], ['data'])
df.select(sf.sort_array(df.data)).show()
+----------------------+
|sort_array(data, true)|
+----------------------+
|                   [1]|
+----------------------+

Beispiel 4: Sortieren eines leeren Arrays

from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, StringType, StructField, StructType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([([],)], schema=schema)
df.select(sf.sort_array(df.data)).show()
+----------------------+
|sort_array(data, true)|
+----------------------+
|                    []|
+----------------------+

Beispiel 5: Sortieren eines Arrays mit Nullwerten

from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([StructField("data", ArrayType(IntegerType()), True)])
df = spark.createDataFrame([([None, None, None],)], schema=schema)
df.select(sf.sort_array(df.data)).show()
+----------------------+
|sort_array(data, true)|
+----------------------+
|    [NULL, NULL, NULL]|
+----------------------+