Pular para o conteúdo principal

tente_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. A função sempre retorna NULL se o índice exceder o comprimento da matriz. Para mapas, a função sempre retorna NULL se a key não estiver contida no mapa.

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

Sintaxe

Python
from pyspark.databricks.sql import functions as dbf

dbf.try_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

pyspark.sql.Column ou str

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

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.try_element_at(df.data, dbf.lit(1))).show()
Output
+-----------------------+
|try_element_at(data, 1)|
+-----------------------+
| a|
+-----------------------+

Exemplo 2 : Obtendo o último elemento de uma matriz usando índice negativo

Python
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()
Output
+------------------------+
|try_element_at(data, -1)|
+------------------------+
| c|
+------------------------+