다음을 통해 공유


array_union

중복 없이 col1 및 col2의 요소 합합을 포함하는 새 배열을 반환합니다.

문법

from pyspark.sql import functions as sf

sf.array_union(col1, col2)

매개 변수

매개 변수 유형 Description
col1 pyspark.sql.Column 또는 str 첫 번째 배열을 포함하는 열의 이름입니다.
col2 pyspark.sql.Column 또는 str 두 번째 배열을 포함하는 열의 이름입니다.

Returns

pyspark.sql.Column: col1 및 col2의 요소 합합을 포함하는 새 배열입니다.

예시

예제 1: 기본 사용

from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2=["c", "d", "a", "f"])])
df.select(sf.sort_array(sf.array_union(df.c1, df.c2))).show()
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
|                      [a, b, c, d, f]|
+-------------------------------------+

예제 2: 공통 요소가 없는 공용 구조체

from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["b", "a", "c"], c2=["d", "e", "f"])])
df.select(sf.sort_array(sf.array_union(df.c1, df.c2))).show()
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
|                   [a, b, c, d, e, f]|
+-------------------------------------+

예제 3: 모든 공통 요소를 사용하는 공용 구조체

from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["a", "b", "c"], c2=["a", "b", "c"])])
df.select(sf.sort_array(sf.array_union(df.c1, df.c2))).show()
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
|                            [a, b, c]|
+-------------------------------------+

예제 4: Null 값이 있는 공용 구조체

from pyspark.sql import Row, functions as sf
df = spark.createDataFrame([Row(c1=["a", "b", None], c2=["a", None, "c"])])
df.select(sf.sort_array(sf.array_union(df.c1, df.c2))).show()
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
|                      [NULL, a, b, c]|
+-------------------------------------+

예제 5: 빈 배열이 있는 공용 구조체

from pyspark.sql import Row, functions as sf
from pyspark.sql.types import ArrayType, StringType, StructField, StructType
data = [Row(c1=[], c2=["a", "b", "c"])]
schema = StructType([
  StructField("c1", ArrayType(StringType()), True),
  StructField("c2", ArrayType(StringType()), True)
])
df = spark.createDataFrame(data, schema)
df.select(sf.sort_array(sf.array_union(df.c1, df.c2))).show()
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
|                            [a, b, c]|
+-------------------------------------+