Skip to content

array(*cols)

Описание

Функция array() создает новый столбец массива из указанных столбцов. Все столбцы должны быть одного типа данных.

Параметры

  • *cols: Column - один или несколько столбцов для создания массива

Возвращаемое значение

Array - массив, содержащий значения из указанных столбцов

Пример использования

from pyspark.sql.functions import array, lit

# Создаем DataFrame
df = spark.createDataFrame([
    (1, "a", 10),
    (2, "b", 20),
    (3, "c", 30)
], ["id", "letter", "value"])

# Создаем массивы из столбцов
df.select(
    "id",
    array("letter", "value").alias("mixed_array"),
    array("id", "value").alias("numbers_array")
).show(truncate=False)

# Результат:
# +---+------------+-------------+
# |id |mixed_array|numbers_array|
# +---+------------+-------------+
# |1  |[a, 10]    |[1, 10]      |
# |2  |[b, 20]    |[2, 20]      |
# |3  |[c, 30]    |[3, 30]      |
# +---+------------+-------------+

# Пример с литералами
df.select(
    array(lit(1), lit(2), lit(3)).alias("literal_array")
).show(truncate=False)

Примечания

  • Все столбцы должны быть одного типа данных
  • Для создания пустого массива используйте array()
  • Для создания массива с одним элементом используйте array(lit(value))
  • Для объединения массивов используйте concat()
  • Для создания массива из строки используйте split()