Pular para o conteúdo principal

elemento_em

Função de coleção: Retorna o elemento da matriz no índice (baseado em 1) fornecido ou o valor para key fornecida em um mapa. Para arrays, se o índice for 0, o Spark lançará um erro. Se o índice for menor que 0, acessa os elementos do último para o primeiro. Se 'spark.sql.ansi.enabled' estiver definido como verdadeiro, uma exceção será lançada se o índice estiver fora dos limites da matriz, em vez de retornar NULL. Para mapas, a função sempre retorna NULL se a key não estiver contida no mapa. Compatível com Spark Connect.

Para a função Databricks SQL correspondente, consulte a funçãoelement_at.

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

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

Parâmetros

Parâmetro

Tipo

Descrição

col

pyspark.sql.Column ou str

Nome da coluna que contém a matriz ou o mapa.

extraction

Qualquer um

Índice a ser verificado na matriz ou key a ser verificada no mapa.

Devoluções

pyspark.sql.Column: valor na posição dada.

Exemplos

Exemplo 1 : Obtendo o primeiro elemento de um array

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

Exemplo 2 : Obtendo um valor de um mapa usando uma key

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