Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется для:
Databricks SQL
Databricks Runtime 15.3 и выше
Возвращает набор строк путем отмены вложения input.
В Databricks SQL и Databricks Runtime 16.1 и выше эта функция поддерживает вызов именованных параметров.
Синтаксис
variant_explode ( input )
Аргументы
-
variantExprVARIANT: выражение, представляющееVARIANTобъект илиVARIANT ARRAY.
Возвраты
Набор строк, состоящих из элементов VARIANT ARRAYили ключей и значений объекта VARIANT.
Столбцы, созданные variant_explode:
pos INTkey STRING-
value VARIANT.
При взрыве объекта VARIANT выходные key и value столбцы представляют ключи и значения объекта.
При взрыве массива VARIANT выходные данные key всегда NULL, а выходной столбец value представляет элементы массива.
Если input значение NULLравно или не VARIANT ARRAYVARIANT является объектом, строки не создаются.
Чтобы создать одну строку значений NULL в этом случае, используйте функцию variant_explode_outer .
Примеры
-- Simple example
> SELECT *
FROM variant_explode(parse_json('[1, "a", {"b": "hello"}]'));
pos key value
--- ---- -------------
0 NULL 1
1 NULL "a"
2 NULL {"b":"hello"}
> SELECT *
FROM variant_explode(parse_json('{"foo":1,"bar":"hello"}'));
pos key value
--- ---- -------------
0 bar "hello"
1 foo 1
-- Using lateral correlation
> SELECT t.value AS outer, u.value AS inner
FROM variant_explode(parse_json('[[1, 2], [3, 4]]')) AS t,
LATERAL variant_explode(t.value) AS u;
outer inner
----- -----
[1,2] 1
[1,2] 2
[3,4] 3
[3,4] 4