Compartir vía


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. Si 'spark.sql.ansi.enabled' está establecido en true, se producirá una excepción si el índice está fuera de los límites de la matriz en lugar de devolver NULL. Para los mapas, la función siempre devuelve NULL si la clave no está contenida en el mapa. Soporta Spark Connect.

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

Syntax

from pyspark.databricks.sql import functions as dbf

dbf.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 Cualquiera Índice que se va a comprobar en matriz o clave para buscar en el mapa.

Devoluciones

pyspark.sql.Column: valor en la posición especificada.

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.element_at(df.data, 1)).show()
+-------------------+
|element_at(data, 1)|
+-------------------+
|                  a|
+-------------------+

Ejemplo 2: Obtención de un valor de un mapa mediante una clave

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