Aller au contenu principal

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

Python
from pyspark.sql import functions as dbf

dbf.element_at(col=<col>, extraction=<extraction>)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne contenant un tableau ou une carte.

extraction

Tout

Index à vérifier dans un tableau ou clé à vérifier dans une map.

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne contenant un tableau ou une carte.

extraction

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

Python
from pyspark.sql import functions as dbf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(dbf.element_at(df.data, 1)).show()
Output
+-------------------+
|element_at(data, 1)|
+-------------------+
| a|
+-------------------+

**Exemple 2** : Obtention d'une valeur à partir d'une carte à l'aide d'une clé

Python
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()
Output
+-------------------+
|element_at(data, a)|
+-------------------+
| 1.0|
+-------------------+