Freigeben über


array_contains

Gibt einen booleschen Wert zurück, der angibt, ob das Array den angegebenen Wert enthält. Gibt NULL zurück, wenn das Array null ist, "true", wenn das Array den angegebenen Wert enthält, andernfalls "false".

Syntax

from pyspark.sql import functions as sf

sf.array_contains(col, value)

Die Parameter

Parameter Typ Description
col pyspark.sql.Column oder str Die Zielspalte, die die Arrays enthält.
value Beliebig Der Wert oder die Spalte, nach dem bzw. der im Array gesucht werden soll.

Rückkehr

pyspark.sql.Column: Eine neue Spalte vom typ Boolean, wobei jeder Wert angibt, ob das entsprechende Array aus der Eingabespalte den angegebenen Wert enthält.

Examples

Beispiel 1: Grundlegende Verwendung von array_contains Funktion.

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

Beispiel 2: Verwendung der funktion array_contains mit einer Spalte.

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

Beispiel 3: Versuch, array_contains Funktion mit einem Nullarray zu verwenden.

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

Beispiel 4: Verwendung von array_contains mit einer Arrayspalte, die Nullwerte enthält.

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