Bagikan melalui


array_sort

Fungsi koleksi: Mengurutkan array input dalam urutan naik. Elemen array input harus dapat diurutkan. Elemen null akan ditempatkan di akhir array yang dikembalikan. Mendukung Spark Connect.

Untuk fungsi Databricks SQL yang sesuai, lihat array_sort fungsi.

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.array_sort(col=<col>, comparator=<comparator>)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Nama kolom atau ekspresi.
comparator callablefakultatif Fungsi biner yang mengembalikan bilangan bulat negatif, 0, atau bilangan bulat positif karena elemen pertama kurang dari, sama dengan, atau lebih besar dari elemen kedua. Jika fungsi komparator mengembalikan null, fungsi akan gagal dan menimbulkan kesalahan.

Pengembalian Barang

pyspark.sql.Column: array yang diurutkan.

Examples

Contoh 1: Mengurutkan array dalam urutan naik default

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=[])]

Contoh 2: Mengurutkan array dengan komparator kustom

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=[])]