Title here
Summary here
arrays_zip(*cols)
arrays_zip
- Функция arrays_zip в PySpark используется для объединения нескольких массивов в один массив кортежей. Функция принимает несколько массивов в качестве входных данных и возвращает массив кортежей, где каждый кортеж содержит элементы из каждого массива.
Если колличество элементов не одинаковое, меньший массив будет дополнен Null.
Column
or str
, * array1 , array2 , … Массивы, которые нужно объединить.Column
объединенный массив записей.from pyspark.sql import SparkSession
from pyspark.sql.functions import arrays_zip
# Создание сессии Spark
spark = SparkSession.builder.appName("arrays_zip_example").getOrCreate()
# Пример данных
data = [([1, 2, 3], [4, 5, 6]), ([4, 5, 6], [6, 7])]
df = spark.createDataFrame(data, ["array1", "array2"])
# объединяем элементы массива каждого массива
df_arrays_zip = df.withColumn("arrays_zip", arrays_zip("array1", "array2"))
# Отображение результата
df_arrays_zip.show(10, False)
+---------+---------+---------------------------+
|array1 |array2 |arrays_zip |
+---------+---------+---------------------------+
|[1, 2, 3]|[4, 5, 6]|[{1, 4}, {2, 5}, {3, 6}] |
|[4, 5, 6]|[6, 7] |[{4, 6}, {5, 7}, {6, NULL}]|
+---------+---------+---------------------------+
from pyspark.sql import SparkSession
from pyspark.sql.functions import arrays_zip
# Создание сессии Spark
spark = SparkSession.builder.appName("df_arrays_zip").getOrCreate()
# Пример данных
data = [([1, 2, 3], [4, 5, 6], [3, 3, 3]), ([4, 5, 6], [6, 7], [4, 4, 4])]
df = spark.createDataFrame(data, ["array1", "array2", "array3"])
# объединяем элементы трех массивов
df_arrays_zip = df.withColumn("arrays_zip", arrays_zip("array1", "array2", "array3" ))
# # Отображение результата
df_arrays_zip.show(10, False)
+---------+---------+---------+------------------------------------+
|array1 |array2 |array3 |arrays_zip |
+---------+---------+---------+------------------------------------+
|[1, 2, 3]|[4, 5, 6]|[3, 3, 3]|[{1, 4, 3}, {2, 5, 3}, {3, 6, 3}] |
|[4, 5, 6]|[6, 7] |[4, 4, 4]|[{4, 6, 4}, {5, 7, 4}, {6, NULL, 4}]|
+---------+---------+---------+------------------------------------+
pyspark arrays_zip
Добавлено в версии | 2.4.0. |
Обновлено в версии | 3.4.0. |