matrizes_sobrepostas
Retorna uma coluna booleana indicando se as matrizes de entrada possuem elementos não nulos em comum. Retorna verdadeiro se existirem, nulo se as matrizes não contiverem nenhum elemento em comum, mas não estiverem vazias e pelo menos uma delas contiver um elemento nulo, e falso caso contrário.
Sintaxe
from pyspark.sql import functions as sf
sf.arrays_overlap(a1, a2)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| O nome da coluna que contém o primeiro array. |
|
| O nome da coluna que contém o segundo array. |
Devoluções
pyspark.sql.ColumnUma nova coluna do tipo Boolean , onde cada valor indica se as matrizes correspondentes das colunas de entrada contêm elementos em comum.
Exemplos
Exemplo 1 : Uso básico da função arrays_overlap.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b"], ["b", "c"]), (["a"], ["b", "c"])], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| true|
| false|
+--------------------+
Exemplo 2 : Utilização da função arrays_overlap com arrays que contêm elementos nulos.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None], ["b", None]), (["a"], ["b", "c"])], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| NULL|
| false|
+--------------------+
Exemplo 3 : Utilização da função arrays_overlap com arrays que são nulos.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(None, ["b", "c"]), (["a"], None)], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| NULL|
| NULL|
+--------------------+
Exemplo 4 : Utilização de arrays_overlap em arrays com elementos idênticos.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b"], ["a", "b"]), (["a"], ["a"])], ['x', 'y'])
df.select(sf.arrays_overlap(df.x, df.y)).show()
+--------------------+
|arrays_overlap(x, y)|
+--------------------+
| true|
| true|
+--------------------+