Udostępnij przez


try_element_at

Funkcja kolekcji: zwraca element tablicy w danym indeksie (opartym na 1) indeksie lub wartości dla danego klucza na mapie. W przypadku tablic, jeśli indeks ma wartość 0, platforma Spark zgłosi błąd. Jeśli indeks < 0, uzyskuje dostęp do elementów z ostatniego do pierwszego. Funkcja zawsze zwraca wartość NULL, jeśli indeks przekracza długość tablicy. W przypadku map funkcja zawsze zwraca wartość NULL, jeśli klucz nie jest zawarty w mapie.

Aby uzyskać odpowiednią funkcję SQL usługi Databricks, zobacz try_element_at funkcja.

Składnia

from pyspark.databricks.sql import functions as dbf

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

Parametry

Parameter Typ Description
col pyspark.sql.Column lub str Nazwa kolumny zawierającej tablicę lub mapę.
extraction pyspark.sql.Column lub str Indeks, aby sprawdzić tablicę lub klucz do zaewidencjonowania w mapie.

Przykłady

Przykład 1. Pobieranie pierwszego elementu tablicy

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

Przykład 2. Pobieranie ostatniego elementu tablicy przy użyciu indeksu ujemnego

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