element_at
Fonction de collection : renvoie un élément du tableau à l'index donné (à base de 1) ou la valeur pour la clé donnée dans un mappage. Pour les tableaux, si l'index est 0, Spark générera une erreur. Si l'index < 0, accède aux éléments du dernier au premier. Si 'spark.sql.ansi.enabled' est défini sur true, une exception sera levée si l'index est hors des limites du tableau au lieu de renvoyer NULL. Pour les cartes, la fonction retourne toujours NULL si la clé n'est pas contenue dans la carte. Prend en charge Spark Connect.
Pour la fonction Databricks SQL correspondante, consultez la fonctionelement_at.
Syntaxe
from pyspark.sql import functions as dbf
dbf.element_at(col=<col>, extraction=<extraction>)
parameter
parameter | Type | Description |
|---|---|---|
|
| Nom de la colonne contenant un tableau ou une carte. |
| Tout | Index à vérifier dans un tableau ou clé à vérifier dans une map. |
Renvoie
pyspark.sql.Column: valeur à la position donnée.
Exemples
Exemple 1 : Obtention du premier élément d'un tableau
from pyspark.sql import functions as dbf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(dbf.element_at(df.data, 1)).show()
+-------------------+
|element_at(data, 1)|
+-------------------+
| a|
+-------------------+
**Exemple 2** : Obtention d'une valeur à partir d'une carte à l'aide d'une clé
from pyspark.sql import functions as dbf
df = spark.createDataFrame([({"a": 1.0, "b": 2.0},)], ['data'])
df.select(dbf.element_at(df.data, dbf.lit("a"))).show()
+-------------------+
|element_at(data, a)|
+-------------------+
| 1.0|
+-------------------+