Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Función de colección: ordena la matriz de entrada en orden ascendente. Los elementos de la matriz de entrada deben ser ordenables. Los elementos NULL se colocarán al final de la matriz devuelta. Soporta Spark Connect.
Para obtener la función SQL de Databricks correspondiente, consulte array_sort function.
Syntax
from pyspark.databricks.sql import functions as dbf
dbf.array_sort(col=<col>, comparator=<comparator>)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Nombre de columna o expresión. |
comparator |
callableopcional |
Función binaria que devuelve un entero negativo, 0 o un entero positivo, ya que el primer elemento es menor, igual o mayor que el segundo elemento. Si la función del comparador devuelve null, se producirá un error en la función y se producirá un error. |
Devoluciones
pyspark.sql.Column: matriz ordenada.
Examples
Ejemplo 1: Ordenación de una matriz en orden ascendente predeterminado
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=[])]
Ejemplo 2: Ordenar una matriz con un comparador personalizado
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=[])]