Partilhar via


array_join

Retorna uma coluna de cadeia de caracteres, concatenando os elementos da coluna de array de entrada com um delimitador. Os valores nulos dentro do array podem ser substituídos por uma cadeia especificada através do argumento null_replacement. Se null_replacement não estiver definido, os valores nulos são ignorados.

Sintaxe

from pyspark.sql import functions as sf

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

Parâmetros

Parâmetro Tipo Description
col pyspark.sql.Column ou str A coluna de entrada que contém os arrays a unir.
delimiter str A cadeia a ser usada como delimitador ao unir os elementos do array.
null_replacement STR, opcional A cadeia para substituir valores nulos dentro do array. Se não for definido, os valores nulos são ignorados.

Devoluções

pyspark.sql.Column: Uma nova coluna do tipo string, onde cada valor é o resultado da junção do array correspondente a partir da coluna de entrada.

Examples

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 de array_join função com null_replacement argumento.

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 de array_join função sem null_replacement argumento.

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 de array_join função com um array que é 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 de array_join função 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|
+-------------------------+