try_element_at()
Описание
Функция try_element_at() безопасно возвращает элемент из массива или Map по указанному индексу. Если индекс выходит за границы массива или ключ не найден в Map, возвращает NULL.
Параметры
column: Column - массив или Mapindex: Integer/String - индекс элемента (для массива) или ключ (для Map)
Возвращаемое значение
Any - элемент массива или значение из Map по указанному индексу/ключу
Пример использования
from pyspark.sql import SparkSession
from pyspark.sql.functions import try_element_at, array, create_map
# Создаем SparkSession
spark = SparkSession.builder.appName("try_element_at_example").getOrCreate()
# Создаем DataFrame с массивами и Map
data = [
    (1, array(1, 2, 3), create_map("a", 1, "b", 2)),
    (2, array(), create_map())
]
df = spark.createDataFrame(data, ["id", "arr", "map"])
# Получаем элементы безопасно
result = df.select(
    "id",
    try_element_at("arr", 0).alias("first_element"),
    try_element_at("arr", 5).alias("out_of_bounds"),
    try_element_at("map", "a").alias("map_value"),
    try_element_at("map", "c").alias("missing_key")
).show()
# Результат:
# +---+-------------+-------------+----------+-----------+
# | id|first_element|out_of_bounds|map_value |missing_key|
# +---+-------------+-------------+----------+-----------+
# |  1|            1|         NULL|         1|       NULL|
# |  2|         NULL|         NULL|      NULL|       NULL|
# +---+-------------+-------------+----------+-----------+
 Примечания
- Для массивов индексация начинается с 0
 - Для Map используются строковые ключи
 - Возвращает NULL для отрицательных индексов или ключей, не найденных в Map
 - Для работы с JSON массивами используйте 
get_json_object() - Для безопасного доступа к элементам массива также можно использовать 
element_at()