element_at

Koleksiyon işlevi: Verilen (1 tabanlı) dizindeki dizi öğesini veya bir eşlemedeki verilen anahtar için değeri döndürür. Diziler için dizin 0 ise Spark bir hata oluşturur. Dizin < 0 ise, öğelere en sondan birinciye erişir. 'spark.sql.ansi.enabled' true olarak ayarlanırsa, dizin NULL döndürmek yerine dizi sınırları dışındaysa bir özel durum oluşturulur. Eşlemeler için, anahtar haritada yer almadıysa işlev her zaman NULL döndürür. Spark Connect'i destekler.

İlgili Databricks SQL fonksiyonu için bakınız element_at fonksiyonu.

Sözdizimi

from pyspark.sql import functions as dbf

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

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya str Dizi veya eşleme içeren sütunun adı.
extraction Herhangi biri Dizide denetlenecek dizin veya eşlem içinde denetlenecek anahtar.

İade

pyspark.sql.Column: verilen konumdaki değer.

Örnekler

Örnek 1: Dizinin ilk öğesini alma

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|
+-------------------+

Örnek 2: Anahtar kullanarak haritadan değer alma

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|
+-------------------+