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
from pyspark.databricks.sql import functions as dbf
dbf.element_at(col=<col>, extraction=<extraction>)
Parâmetros
Parâmetro | Tipo | Descrição |
|---|---|---|
|
| Nome da coluna que contém a matriz ou o mapa. |
| 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
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|
+-------------------+
Exemplo 2 : Obtendo um valor de um mapa usando uma key
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|
+-------------------+