array_join

array_join(col, delimiter[, null_replacement])

array_join - Объединяет элементы столбца, используя разделитель.Нулевые значения заменяются на null_replacement (если определено), в противном случае они игнорируются.

Параметры
col: Column or str.Столбец содержащий массив
Возвращает
Column строку состоящую из элементов массива и разделителей.

array_join example


from pyspark.sql import SparkSession
from pyspark.sql.functions import array_join

# Создание сессии Spark
spark = SparkSession.builder.appName("array_join_example").getOrCreate()

# Пример данных
data = [(1, [1, 2, 3]),  (2, [6, 5, 4],)]
df = spark.createDataFrame(data, ["id", "array"])

# Используем array_join
df_with_array_join = df.withColumn("array_join", array_join("array", '-'))
df_with_array_join.show()

+---+---------+----------+
| id|    array|array_join|
+---+---------+----------+
|  1|[1, 2, 3]|     1-2-3|
|  2|[6, 5, 4]|     6-5-4|
+---+---------+----------+

#array_join По умолчанию  None / Null значения игнорируются

from pyspark.sql import SparkSession
from pyspark.sql.functions import array_join

# Создание сессии Spark
spark = SparkSession.builder.appName("array_join_example").getOrCreate()

# Пример данных
data = [(1, [1, 2, 3]),  (2, [None, 5, 4],)]
df = spark.createDataFrame(data, ["id", "array"])

# Обьединяем массив в строку
df_with_array_join = df.withColumn("array_join", array_join("array", '-'))
df_with_array_join.show()

+---+------------+----------+
| id|       array|array_join|
+---+------------+----------+
|  1|   [1, 2, 3]|     1-2-3|
|  2|[NULL, 5, 4]|       5-4|
+---+------------+----------+

#array_join передаем заполнитель для None / Null

from pyspark.sql import SparkSession
from pyspark.sql.functions import array_join

# Создание сессии Spark
spark = SparkSession.builder.appName("array_join_example").getOrCreate()

# Пример данных
data = [(1, [1, 2, 3]),  (2, [None, 5, 4],)]
df = spark.createDataFrame(data, ["id", "array"])

# Конкатенация массива
df_with_array_join = df.withColumn("array_join", array_join("array", '-', '>>>null<<<'))
df_with_array_join.show()

+---+------------+--------------+
| id|       array|    array_join|
+---+------------+--------------+
|  1|   [1, 2, 3]|         1-2-3|
|  2|[NULL, 5, 4]|>>>null<<<-5-4|
+---+------------+--------------+

pyspark array_join

Добавлено в версии2.4.0.
Обновлено в версии3.4.0.