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
from pyspark.sql import functions as sf
sf.array_join(col, delimiter, null_replacement=None)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| A coluna de entrada contendo os arrays a serem unidos. |
| str | As strings a serem usadas como delimitador ao unir os elementos da matriz. |
| 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.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],), (["a", "b"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
| a,b,c|
| a,b|
+-------------------+
Exemplo 2 : Utilização da função array_join com o argumento null_replacement.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",", "NULL")).show()
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
| a,NULL,c|
+-------------------------+
Exemplo 3 : Utilização da função array_join sem o argumento null_replacement.
from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", None, "c"],)], ['data'])
df.select(sf.array_join(df.data, ",")).show()
+-------------------+
|array_join(data, ,)|
+-------------------+
| a,c|
+-------------------+
Exemplo 4 : Utilização da função array_join com um array nulo.
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()
+-------------------+
|array_join(data, ,)|
+-------------------+
| NULL|
+-------------------+
Exemplo 5 : Utilização da função array_join com um array contendo apenas valores nulos.
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()
+-------------------------+
|array_join(data, ,, NULL)|
+-------------------------+
| NULL,NULL|
+-------------------------+