array_contém
Retorna um valor booleano indicando se a matriz contém o valor fornecido. Retorna nulo se a matriz for nula, verdadeiro se a matriz contiver o valor fornecido e falso caso contrário.
Sintaxe
from pyspark.sql import functions as sf
sf.array_contains(col, value)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| A coluna de destino que contém as matrizes. |
| Qualquer um | O valor ou a coluna a ser verificada na matriz. |
Devoluções
pyspark.sql.ColumnUma nova coluna do tipo Boolean , onde cada valor indica se a matriz correspondente da coluna de entrada contém o valor especificado.
Exemplos
Exemplo 1 : Uso básico da função 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|
+-----------------------+
Exemplo 2 : Utilização da função array_contains com uma coluna.
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|
+--------------------------+
Exemplo 3 : Tentativa de usar a função array_contains com um array nulo.
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|
+-----------------------+
Exemplo 4 : Utilização de array_contains com uma coluna de array contendo valores nulos.
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|
+-----------------------+