Поделиться через


Функция zip_with

Область применения: флажок Databricks SQL флажок Databricks Runtime

Объединяет массивы в expr1 и expr2 поэлементно в один массив с помощью func.

Синтаксис

zip_with(expr1, expr2, func)

Аргументы

  • expr1: выражение ARRAY.
  • expr2: выражение ARRAY.
  • func: лямбда-функция, которая принимает два параметра.

Возвраты

Выражение ARRAY с результатами выполнения лямбда-функции.

Если один из массив короче другого, в его конец перед применением func добавляется столько значений NULL, чтобы его длина совпала с длиной более длинного массива.

Примеры

> SELECT zip_with(array(1, 2, 3), array('a', 'b', 'c'), (x, y) -> (y, x));
 [{a, 1}, {b, 2}, {c, 3}]
> SELECT zip_with(array(1, 2), array(3, 4), (x, y) -> x + y);
 [4,6]
> SELECT zip_with(array('a', 'b', 'c'), array('d', 'e', 'f'), (x, y) -> concat(x, y));
 [ad , be, cf]