Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Retourne le nombre total d’éléments dans le tableau. La fonction retourne la valeur Null pour l’entrée Null.
Syntaxe
from pyspark.sql import functions as sf
sf.array_size(col)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
col |
pyspark.sql.Column ou str |
Nom de la colonne ou d’une expression qui représente le tableau. |
Retours
pyspark.sql.Column: nouvelle colonne qui contient la taille de chaque tableau.
Examples
Exemple 1 : Utilisation de base avec un tableau d’entiers
from pyspark.sql import functions as sf
df = spark.createDataFrame([([2, 1, 3],), (None,)], ['data'])
df.select(sf.array_size(df.data)).show()
+----------------+
|array_size(data)|
+----------------+
| 3|
| NULL|
+----------------+
Exemple 2 : Utilisation avec un tableau de chaînes
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['apple', 'banana', 'cherry'],)], ['data'])
df.select(sf.array_size(df.data)).show()
+----------------+
|array_size(data)|
+----------------+
| 3|
+----------------+
Exemple 3 : Utilisation avec tableau de types mixtes
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['apple', 1, 'cherry'],)], ['data'])
df.select(sf.array_size(df.data)).show()
+----------------+
|array_size(data)|
+----------------+
| 3|
+----------------+
Exemple 4 : Utilisation avec tableau de tableaux
from pyspark.sql import functions as sf
df = spark.createDataFrame([([[2, 1], [3, 4]],)], ['data'])
df.select(sf.array_size(df.data)).show()
+----------------+
|array_size(data)|
+----------------+
| 2|
+----------------+
Exemple 5 : Utilisation avec tableau vide
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([
StructField("data", ArrayType(IntegerType()), True)
])
df = spark.createDataFrame([([],)], schema=schema)
df.select(sf.array_size(df.data)).show()
+----------------+
|array_size(data)|
+----------------+
| 0|
+----------------+