Compartir a través de


try_element_at

Función de colección: devuelve el elemento de la matriz en un índice o valor determinado (basado en 1) para una clave determinada en un mapa. En el caso de las matrices, si el índice es 0, Spark producirá un error. Si el índice < 0, tiene acceso a los elementos del último al primero. La función siempre devuelve NULL si el índice supera la longitud de la matriz. Para los mapas, la función siempre devuelve NULL si la clave no está contenida en el mapa.

Para obtener la función SQL de Databricks correspondiente, consulte try_element_at function.

Syntax

from pyspark.databricks.sql import functions as dbf

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

Parámetros

Parámetro Tipo Description
col pyspark.sql.Column o str Nombre de la columna que contiene la matriz o el mapa.
extraction pyspark.sql.Column o str Índice que se va a comprobar en matriz o clave para buscar en el mapa.

Examples

Ejemplo 1: Obtención del primer elemento de una matriz

from pyspark.databricks.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|
+-----------------------+

Ejemplo 2: Obtención del último elemento de una matriz mediante un índice negativo

from pyspark.databricks.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|
+------------------------+