try_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. La fonction renvoie toujours NULL si l'index dépasse la longueur du tableau. Pour les mappages, la fonction renvoie toujours NULL si la clé n'est pas contenue dans le mappage.
Pour la fonction Databricks SQL correspondante, consultez la fonctiontry_element_at.
Syntaxe
from pyspark.sql import functions as dbf
dbf.try_element_at(col=<col>, extraction=<extraction>)
parameter
parameter | Type | Description |
|---|---|---|
|
| Nom de la colonne contenant un tableau ou une carte. |
|
| Index à vérifier dans un tableau ou clé à vérifier dans une map. |
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.try_element_at(df.data, dbf.lit(1))).show()
+-----------------------+
|try_element_at(data, 1)|
+-----------------------+
| a|
+-----------------------+
**Exemple 2** : Obtention du dernier élément d'un tableau à l'aide d'un index négatif
from pyspark.sql import functions as dbf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(dbf.try_element_at(df.data, dbf.lit(-1))).show()
+------------------------+
|try_element_at(data, -1)|
+------------------------+
| c|
+------------------------+