Aller au contenu principal

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

Python
from pyspark.sql import functions as sf

sf.sort_array(col, asc=True)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne ou de l'expression.

asc

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.

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne ou de l'expression.

asc

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

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

Exemple 2 : Tri d'un tableau par ordre décroissant

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

Exemple 3 : Tri d'un tableau à un seul élément

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

Exemple 4 : Tri d’un tableau vide

Python
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()
Output
+----------------------+
|sort_array(data, true)|
+----------------------+
| []|
+----------------------+

**Exemple 5** : Tri d'un tableau avec des valeurs nulles.

Python
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()
Output
+----------------------+
|sort_array(data, true)|
+----------------------+
| [NULL, NULL, NULL]|
+----------------------+