array_contains
Renvoie une valeur booléenne indiquant si le tableau contient la valeur donnée, et false dans le cas contraire. Renvoie null si le tableau est null, true si le tableau contient la valeur donnée, et false dans le cas contraire.
Syntaxe
from pyspark.sql import functions as sf
sf.array_contains(col, value)
parameter
parameter | Type | Description |
|---|---|---|
|
| La colonne cible contenant les tableaux. |
| Tout | La valeur ou la colonne à vérifier dans le tableau. |
Renvoie
pyspark.sql.Column: Une nouvelle colonne de type booléen, où chaque valeur indique si le tableau correspondant de la colonne d'entrée contient la valeur spécifiée.
Exemples
Exemple 1 : Utilisation de base de la fonction array_contains.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],), ([],)], ['data'])
df.select(sf.array_contains(df.data, "a")).show()
+-----------------------+
|array_contains(data, a)|
+-----------------------+
| true|
| false|
+-----------------------+
Exemple 2 : Utilisation de la fonction array_contains avec une colonne.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], "c"),
(["c", "d", "e"], "d"),
(["e", "a", "c"], "b")], ["data", "item"])
df.select(sf.array_contains(df.data, sf.col("item"))).show()
+--------------------------+
|array_contains(data, item)|
+--------------------------+
| true|
| true|
| false|
+--------------------------+
Exemple 3 : Tentative d’utilisation de la fonction array_contains avec un tableau nul.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(None,), (["a", "b", "c"],)], ['data'])
df.select(sf.array_contains(df.data, "a")).show()
+-----------------------+
|array_contains(data, a)|
+-----------------------+
| NULL|
| true|
+-----------------------+
Exemple 4 : Utilisation de array_contains avec une colonne de tableau contenant des valeurs nulles.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_contains(df.data, "a")).show()
+-----------------------+
|array_contains(data, a)|
+-----------------------+
| true|
+-----------------------+