Pular para o conteúdo principal

junção_de_array

Retorna uma coluna de strings concatenando os elementos da coluna da matriz de entrada usando o delimitador. Os valores nulos dentro da matriz podem ser substituídos por strings específicas através do argumento `null_replacement`. Se null_replacement não estiver definido, os valores nulos serão ignorados.

Sintaxe​

Python
from pyspark.sql import functions as sf

sf.array_join(col, delimiter, null_replacement=None)

Parâmetros​

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

A coluna de entrada contendo os arrays a serem unidos.

delimiter

str

As strings a serem usadas como delimitador ao unir os elementos da matriz.

null_replacement

str, opcional

As strings que substituirão os valores nulos dentro da matriz. Se não forem definidos, os valores nulos serão ignorados.

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

A coluna de entrada contendo os arrays a serem unidos.

delimiter

str

As strings a serem usadas como delimitador ao unir os elementos da matriz.

null_replacement

str, opcional

As strings que substituirão os valores nulos dentro da matriz. Se não forem definidos, os valores nulos serão ignorados.

Devoluções​

pyspark.sql.ColumnUma nova coluna do tipo string, onde cada valor é o resultado da junção do array correspondente da coluna de entrada.

Exemplos​

Exemplo 1 : Uso básico da função array_join.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],), (["a", "b"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
Output
+-------------------+
|array_join(data, ,)|
+-------------------+
| a,b,c|
| a,b|
+-------------------+

Exemplo 2 : Utilização da função array_join com o argumento null_replacement.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",", "NULL")).show()
Output
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
| a,NULL,c|
+-------------------------+

Exemplo 3 : Utilização da função array_join sem o argumento null_replacement.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
Output
+-------------------+
|array_join(data, ,)|
+-------------------+
| a,c|
+-------------------+

Exemplo 4 : Utilização da função array_join com um array nulo.

Python
from pyspark.sql import functions as sf
from pyspark.sql.types import StructType, StructField, ArrayType, StringType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([(None,)], schema)
df.select(sf.array_join(df.data, ",")).show()
Output
+-------------------+
|array_join(data, ,)|
+-------------------+
| NULL|
+-------------------+

Exemplo 5 : Utilização da função array_join com um array contendo apenas valores nulos.

Python
from pyspark.sql import functions as sf
from pyspark.sql.types import StructType, StructField, ArrayType, StringType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([([None, None],)], schema)
df.select(sf.array_join(df.data, ",", "NULL")).show()
Output
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
| NULL,NULL|
+-------------------------+