array_contains

Vrátí logickou hodnotu označující, zda pole obsahuje danou hodnotu. Vrátí hodnotu null, pokud je matice null, true, pokud matice obsahuje danou hodnotu, a hodnotu false v opačném případě.

Syntaxe

from pyspark.sql import functions as sf

sf.array_contains(col, value)

Parametry

Parameter Typ Description
col pyspark.sql.Column nebo str Cílový sloupec obsahující pole.
value Jakýkoliv Hodnota nebo sloupec, který chcete zkontrolovat v matici.

Návraty

pyspark.sql.Column: Nový sloupec logického typu, kde každá hodnota označuje, zda odpovídající matice ze vstupního sloupce obsahuje zadanou hodnotu.

Examples

Příklad 1: Základní použití funkce 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|
+-----------------------+

Příklad 2: Použití array_contains funkce se sloupcem

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

Příklad 3: Pokus o použití array_contains funkce s polem null

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

Příklad 4: Použití array_contains se sloupcem pole obsahujícím hodnoty null.

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