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
from pyspark.databricks.sql import functions as dbf
dbf.try_element_at(col=<col>, extraction=<extraction>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Nome da coluna que contém a matriz ou o mapa. |
|
| Índice a ser verificado na matriz ou key a ser verificada no mapa. |
Exemplos
Exemplo 1 : Obtendo o primeiro elemento de um array
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|
+-----------------------+
Exemplo 2 : Obtendo o último elemento de uma matriz usando í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|
+------------------------+