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()