Aller au contenu principal

array_repeat

Crée un tableau contenant une colonne répétée X fois.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.array_repeat(col, count)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Le nom de la colonne ou une expression qui représente l'élément à répéter.

count

pyspark.sql.Column, str ou int

Le nom de la colonne, une expression ou un entier qui représente le nombre de fois où l'élément doit être répété.

parameter

Type

Description

col

pyspark.sql.Column ou str

Le nom de la colonne ou une expression qui représente l'élément à répéter.

count

pyspark.sql.Column, str ou int

Le nom de la colonne, une expression ou un entier qui représente le nombre de fois où l'élément doit être répété.

Renvoie

pyspark.sql.Column: Une nouvelle colonne qui contient un tableau d'éléments répétés.

Exemples

Exemple 1 : utilisation avec une chaîne

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([('ab',)], ['data'])
df.select(sf.array_repeat(df.data, 3)).show()
Output
+---------------------+
|array_repeat(data, 3)|
+---------------------+
| [ab, ab, ab]|
+---------------------+

Exemple 2 : Utilisation avec un entier

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(3,)], ['data'])
df.select(sf.array_repeat(df.data, 2)).show()
Output
+---------------------+
|array_repeat(data, 2)|
+---------------------+
| [3, 3]|
+---------------------+

**Exemple 3** : Utilisation avec tableau.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['apple', 'banana'],)], ['data'])
df.select(sf.array_repeat(df.data, 2)).show(truncate=False)
Output
+----------------------------------+
|array_repeat(data, 2) |
+----------------------------------+
|[[apple, banana], [apple, banana]]|
+----------------------------------+

Exemple 4 : Utilisation avec null

Python
from pyspark.sql import functions as sf
from pyspark.sql.types import IntegerType, StructType, StructField
schema = StructType([
StructField("data", IntegerType(), True)
])
df = spark.createDataFrame([(None, )], schema=schema)
df.select(sf.array_repeat(df.data, 3)).show()
Output
+---------------------+
|array_repeat(data, 3)|
+---------------------+
| [NULL, NULL, NULL]|
+---------------------+