Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает логическое значение, указывающее, содержит ли массив заданное значение. Возвращает значение NULL, если массив имеет значение NULL, значение true, если массив содержит заданное значение и значение false.
Синтаксис
from pyspark.sql import functions as sf
sf.array_contains(col, value)
Параметры
| Параметр | Тип | Description |
|---|---|---|
col |
pyspark.sql.Column или str |
Целевой столбец, содержащий массивы. |
value |
Любое | Значение или столбец для проверки в массиве. |
Возвраты
pyspark.sql.Column: новый столбец логического типа, где каждое значение указывает, содержит ли соответствующий массив из входного столбца указанное значение.
Примеры
Пример 1. Базовое использование функции 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|
+-----------------------+
Пример 2. Использование функции array_contains с столбцом.
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|
+--------------------------+
Пример 3. Попытка использовать функцию array_contains с пустым массивом.
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|
+-----------------------+
Пример 4. Использование array_contains с столбцом массива, содержащим значения 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|
+-----------------------+