Array Functions

Функция Описание
array(*cols) Создает новый столбец массива.
array_contains(col, value) Возвращает null, если массив null, true, если массив содержит заданное значение, и false в противном случае.
arrays_overlap(a1, a2) Возвращает true, если массивы содержат любой общий ненулевой элемент; если нет, возвращает null, если оба массива непусты и любой из них содержит нулевой элемент; в противном случае возвращает false.
array_join(col, delimiter[, null_replacement]) Конкатенирует элементы столбца, используя разделитель.
create_map(*cols) Создает новый столбец карты.
slice(x, start, length) Возвращает массив, содержащий все элементы в x с индекса start (индексы массива начинаются с 1, или с конца, если start отрицательный) с указанной длиной.
concat(*cols) Конкатенирует несколько входных столбцов в один столбец.
array_position(col, value) Находит позицию первого вхождения заданного значения в заданный массив.
element_at(col, extraction) Возвращает элемент массива по заданному индексу в extraction, если col - массив.
array_append(col, value) Возвращает массив элементов в col1 вместе с добавленным элементом в col2 в конец массива.
array_size(col) Возвращает общее количество элементов в массиве.
array_sort(col[, comparator]) Сортирует входной массив по возрастанию.
array_insert(arr, pos, value) Добавляет элемент в заданный массив в указанный индекс массива.
array_remove(col, element) Удаляет все элементы, равные элементу, из заданного массива.
array_prepend(col, value) Возвращает массив, содержащий элемент, а также все элементы из массива.
array_distinct(col) Удаляет дублирующиеся значения из массива.
array_intersect(col1, col2) Возвращает массив элементов в пересечении col1 и col2, без дубликатов.
array_union(col1, col2) Возвращает массив элементов в объединении col1 и col2, без дубликатов.
array_except(col1, col2) Возвращает массив элементов в col1, но не в col2, без дубликатов.
array_compact(col) Удаляет null значения из массива.
transform(col, f) Возвращает массив элементов после применения преобразования к каждому элементу входного массива.
exists(col, f) Возвращает, выполняется ли предикат для одного или нескольких элементов в массиве.
forall(col, f) Возвращает, выполняется ли предикат для каждого элемента в массиве.
filter(col, f) Возвращает массив элементов, для которых выполняется предикат в заданном массиве.
aggregate(col, initialValue, merge[, finish]) Применяет бинарный оператор к начальному состоянию и всем элементам в массиве, и сводит это к одному состоянию.
zip_with(left, right, f) Объединяет два заданных массива, поэлементно, в один массив, используя функцию.
transform_keys(col, f) Применяет функцию к каждой паре ключ-значение в карте и возвращает карту с результатами этих применений в качестве новых ключей для пар.
transform_values(col, f) Применяет функцию к каждой паре ключ-значение в карте и возвращает карту с результатами этих применений в качестве новых значений для пар.
map_filter(col, f) Возвращает карту, чьи ключ-значение удовлетворяют предикат.
map_from_arrays(col1, col2) Создает новую карту из двух массивов.
map_zip_with(col1, col2, f) Объединяет две заданные карты, по ключам, в одну карту, используя функцию.
explode(col) Возвращает новую строку для каждого элемента в заданном массиве или карте.
explode_outer(col) Возвращает новую строку для каждого элемента в заданном массиве или карте.
posexplode(col) Возвращает новую строку для каждого элемента с позицией в заданном массиве или карте.
posexplode_outer(col) Возвращает новую строку для каждого элемента с позицией в заданном массиве или карте.
inline(col) Разбивает массив структур на таблицу.
inline_outer(col) Разбивает массив структур на таблицу.
get(col, index) Возвращает элемент массива по заданному (0-базированному) индексу.
get_json_object(col, path) Извлекает json объект из json строки на основе указанного json пути и возвращает json строку из извлеченного json объекта.
json_tuple(col, *fields) Создает новую строку для json столбца в соответствии с заданными именами полей.
from_json(col, schema[, options]) Разбирает столбец, содержащий JSON строку, в MapType с типом ключей StringType, StructType или ArrayType с указанной схемой.
schema_of_json(json[, options]) Разбирает JSON строку и выводит ее схему в формате DDL.
to_json(col[, options]) Конвертирует столбец, содержащий StructType, ArrayType или MapType, в JSON строку.
json_array_length(col) Возвращает количество элементов во внешнем JSON массиве.
json_object_keys(col) Возвращает все ключи во внешнем JSON объекте в виде массива.
size(col) Возвращает длину массива или карты, хранящейся в столбце.
cardinality(col) Возвращает длину массива или карты, хранящейся в столбце.
struct(*cols) Создает новый столбец структуры.
sort_array(col[, asc]) Сортирует входной массив по возрастанию или убыванию в соответствии с естественным порядком элементов массива.
array_max(col) Возвращает максимальное значение массива.
array_min(col) Возвращает минимальное значение массива.
shuffle(col) Генерирует случайную перестановку заданного массива.
reverse(col) Возвращает перевернутую строку или массив с обратным порядком элементов.
flatten(col) Создает один массив из массива массивов.
sequence(start, stop[, step]) Генерирует последовательность целых чисел от start до stop, увеличивая на step.
array_repeat(col, count) Создает массив, содержащий столбец, повторенный count раз.
map_contains_key(col, value) Возвращает true, если карта содержит ключ.
map_keys(col) Возвращает неупорядоченный массив, содержащий ключи карты.
map_values(col) Возвращает неупорядоченный массив, содержащий значения карты.
map_entries(col) Возвращает неупорядоченный массив всех записей в заданной карте.
map_from_entries(col) Преобразует массив записей (типы ключ-значение) в карту значений.
arrays_zip(*cols) Возвращает объединенный массив структур, в котором N-я структура содержит все N-е значения входных массивов.
map_concat(*cols) Возвращает объединение всех заданных карт.
from_csv(col, schema[, options]) Разбирает столбец, содержащий CSV строку, в строку с указанной схемой.
schema_of_csv(csv[, options]) Разбирает CSV строку и выводит ее схему в формате DDL.
str_to_map(text[, pairDelim, keyValueDelim]) Создает карту после разделения текста на пары ключ/значение с использованием разделителей.
to_csv(col[, options]) Конвертирует столбец, содержащий StructType, в CSV строку.
try_element_at(col, extraction) (массив, индекс) - Возвращает элемент массива по заданному (1-базированному) индексу.