sort_array
Trie le tableau d'entrée par ordre croissant ou décroissant selon l'ordre naturel des éléments du tableau. Les éléments nuls seront placés au début du tableau retourné par ordre croissant ou à la fin du tableau retourné par ordre décroissant.
Syntaxe
from pyspark.sql import functions as sf
sf.sort_array(col, asc=True)
parameter
parameter | Type | Description |
|---|---|---|
|
| Nom de la colonne ou de l'expression. |
| bool, facultatif | Si le tri doit être en ordre croissant ou décroissant. Si asc est Vrai (default), alors le tri est par ordre croissant. Si Faux, alors par ordre décroissant. |
Renvoie
pyspark.sql.Column: Tableau trié.
Exemples
**Exemple 1** : Tri d'un tableau par ordre croissant
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]|
+----------------------+
Exemple 2 : Tri d'un tableau par ordre décroissant
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]|
+-----------------------+
Exemple 3 : Tri d'un tableau à un seul élément
import pyspark.sql.functions as sf
df = spark.createDataFrame([([1],)], ['data'])
df.select(sf.sort_array(df.data)).show()
+----------------------+
|sort_array(data, true)|
+----------------------+
| [1]|
+----------------------+
Exemple 4 : Tri d’un tableau vide
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)|
+----------------------+
| []|
+----------------------+
**Exemple 5** : Tri d'un tableau avec des valeurs nulles.
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]|
+----------------------+