Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Fonction de collection : trie le tableau d’entrée dans l’ordre croissant. Les éléments du tableau d’entrée doivent être triables. Les éléments Null sont placés à la fin du tableau retourné. Prend en charge Spark Connect.
Pour obtenir plus de détails sur la fonction SQL de Databricks correspondante, consultez array_sort.
Syntaxe
from pyspark.databricks.sql import functions as dbf
dbf.array_sort(col=<col>, comparator=<comparator>)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
col |
pyspark.sql.Column ou str |
Nom de la colonne ou de l’expression. |
comparator |
callableoptionnel |
Fonction binaire qui retourne un entier négatif, 0 ou un entier positif, car le premier élément est inférieur, égal ou supérieur au deuxième élément. Si la fonction comparateur retourne null, la fonction échoue et génère une erreur. |
Retours
pyspark.sql.Column: tableau trié.
Examples
Exemple 1 : Tri d’un tableau dans l’ordre croissant par défaut
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=[])]
Exemple 2 : Tri d’un tableau avec un comparateur personnalisé
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=[])]