Condividi tramite


array_join

Restituisce una colonna di stringhe concatenando gli elementi della colonna dell'array di input utilizzando il delimitatore. I valori Null all'interno della matrice possono essere sostituiti con una stringa specificata tramite l'argomento null_replacement. Se null_replacement non è impostato, i valori Null vengono ignorati.

Sintassi

from pyspark.sql import functions as sf

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

Parametri

Parametro TIPO Description
col pyspark.sql.Column o str Colonna di input contenente le matrici da unire.
delimiter str Stringa da utilizzare come delimitatore quando si uniscono gli elementi della matrice.
null_replacement str, facoltativo Stringa per sostituire i valori Null all'interno della matrice. Se non è impostato, i valori Null vengono ignorati.

Restituzioni

pyspark.sql.Column: nuova colonna di tipo stringa, in cui ogni valore è il risultato dell'unione della matrice corrispondente dalla colonna di input.

Esempi

Esempio 1: Utilizzo di base della funzione 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|
+-------------------+

Esempio 2: Utilizzo della funzione array_join con null_replacement argomento.

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|
+-------------------------+

Esempio 3: Utilizzo della funzione di array_join senza null_replacement argomento.

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|
+-------------------+

Esempio 4: Utilizzo della funzione array_join con una matrice null.

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|
+-------------------+

Esempio 5: Utilizzo della funzione array_join con una matrice contenente solo valori Null.

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|
+-------------------------+