Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция сбора: возвращает элемент массива в заданном (1) индексе или значении заданного ключа на карте. Для массивов, если индекс равен 0, Spark выдает ошибку. Если индекс < 0, обращается к элементам из последнего к первому. Функция всегда возвращает значение NULL, если индекс превышает длину массива. Для карт функция всегда возвращает значение NULL, если ключ не содержится в карте.
Для соответствующей функции Databricks SQL смотрите функцию try_element_at.
Синтаксис
from pyspark.databricks.sql import functions as dbf
dbf.try_element_at(col=<col>, extraction=<extraction>)
Параметры
| Параметр | Тип | Description |
|---|---|---|
col |
pyspark.sql.Column или str |
Имя столбца, содержащего массив или карту. |
extraction |
pyspark.sql.Column или str |
Индекс для проверки в массиве или ключе, чтобы проверить наличие на карте. |
Примеры
Пример 1. Получение первого элемента массива
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|
+-----------------------+
Пример 2. Получение последнего элемента массива с помощью отрицательного индекса
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|
+------------------------+