다음을 통해 공유


sort_array

배열 요소의 자연 순서에 따라 입력 배열을 오름차순 또는 내림차순으로 정렬합니다. Null 요소는 반환된 배열의 시작 부분이나 내림차순으로 반환된 배열의 끝에 오름차순으로 배치됩니다.

문법

from pyspark.sql import functions as sf

sf.sort_array(col, asc=True)

매개 변수

매개 변수 유형 Description
col pyspark.sql.Column 또는 str 열 또는 식의 이름입니다.
asc bool, 선택 사항 오름차순 또는 내림차순으로 정렬할지 여부입니다. asc가 True(기본값)이면 정렬 순서가 오름차순입니다. False이면 내림차순으로 정렬합니다.

Returns

pyspark.sql.Column: 정렬된 배열입니다.

예시

예제 1: 배열을 오름차순으로 정렬

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]|
+----------------------+

예제 2: 배열을 내림차순으로 정렬

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]|
+-----------------------+

예제 3: 단일 요소를 사용하여 배열 정렬

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

예제 4: 빈 배열 정렬

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

예제 5: null 값을 사용하여 배열 정렬

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]|
+----------------------+