Aller au contenu principal

array_union

Retourne un nouveau tableau contenant l'union des éléments de col1 et col2, sans doublons.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.array_union(col1, col2)

parameter

parameter

Type

Description

col1

pyspark.sql.Column ou str

Nom de la colonne contenant le premier tableau.

col2

pyspark.sql.Column ou str

Nom de la colonne contenant le deuxième tableau.

parameter

Type

Description

col1

pyspark.sql.Column ou str

Nom de la colonne contenant le premier tableau.

col2

pyspark.sql.Column ou str

Nom de la colonne contenant le deuxième tableau.

Renvoie

pyspark.sql.Column: Un nouveau tableau contenant l'union des éléments dans col1 et col2.

Exemples

Exemple 1 : utilisation de base

Python
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()
Output
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
| [a, b, c, d, f]|
+-------------------------------------+

Exemple 2 : union sans éléments communs

Python
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()
Output
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
| [a, b, c, d, e, f]|
+-------------------------------------+

Exemple 3 : union avec tous les éléments communs

Python
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()
Output
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
| [a, b, c]|
+-------------------------------------+

**Exemple 4** : Union avec des valeurs nulles

Python
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()
Output
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
| [NULL, a, b, c]|
+-------------------------------------+

**Exemple 5** : Union avec des tableaux vides

Python
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()
Output
+-------------------------------------+
|sort_array(array_union(c1, c2), true)|
+-------------------------------------+
| [a, b, c]|
+-------------------------------------+