Skip to content

array_repeat(col, count)

Описание

Функция array_repeat() создает новый массив, содержащий указанный столбец, повторенный заданное количество раз.

Параметры

  • col: Column - столбец или значение для повторения
  • count: int - количество повторений

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

Array - массив, содержащий повторенные значения

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

from pyspark.sql.functions import array_repeat, lit

# Создаем DataFrame
df = spark.createDataFrame([
    (1,),
    (2,),
    (3,)
], ["value"])

# Повторяем значения
df.select(
    "value",
    array_repeat("value", 3).alias("repeated"),
    array_repeat(lit("a"), 5).alias("repeated_literal")
).show(truncate=False)

# Результат:
# +-----+------------+-----------------+
# |value|repeated    |repeated_literal |
# +-----+------------+-----------------+
# |1    |[1, 1, 1]   |[a, a, a, a, a]  |
# |2    |[2, 2, 2]   |[a, a, a, a, a]  |
# |3    |[3, 3, 3]   |[a, a, a, a, a]  |
# +-----+------------+-----------------+

# Пример со строками
df = spark.createDataFrame([
    ("apple",),
    ("banana",),
    ("orange",)
], ["fruit"])

df.select(
    "fruit",
    array_repeat("fruit", 2).alias("repeated_fruits")
).show(truncate=False)

Примечания

  • Если count <= 0, возвращается пустой массив
  • Если col NULL, возвращается NULL
  • Для создания массива из одного элемента используйте array()
  • Для создания последовательности чисел используйте sequence()
  • Для объединения массивов используйте array_union()