element_at

Funkce kolekce: Vrátí prvek pole v daném indexu (1) nebo hodnotě daného klíče v mapě. Pokud je index 0, v případě polí vyvolá Spark chybu. Pokud index < 0, přistupuje k prvkům od posledního k prvnímu. Pokud je hodnota spark.sql.ansi.enabled nastavena na hodnotu true, vyvolá se výjimka, pokud je index mimo hranice pole místo vrácení hodnoty NULL. Pro mapy funkce vždy vrátí hodnotu NULL, pokud klíč není obsažen v mapě. Podporuje Spark Connect.

Odpovídající funkci SQL Databricks vizte funkceelement_at.

Syntaxe

from pyspark.sql import functions as dbf

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

Parametry

Parameter Typ Description
col pyspark.sql.Column nebo str Název sloupce obsahujícího pole nebo mapování
extraction Jakýkoliv Index, který hledá v poli nebo klíči, aby se zkontroloval v mapě.

Návraty

pyspark.sql.Column: hodnota na dané pozici.

Examples

Příklad 1: Získání prvního prvku pole

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

Příklad 2: Získání hodnoty z mapy pomocí klíče

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