Агрегатная функция schema_of_variant_agg
Область применения: Databricks SQL Databricks Runtime 15.3 и более поздних версий
Возвращает объединенную схему всех VARIANT
значений в группе в формате DDL.
Синтаксис
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Аргументы
-
variantExpr
: ВыражениеVARIANT
. -
cond
: необязательноеBOOLEAN
выражение, фильтрующее строки, используемые для агрегирования.
Возвраты
Содержит STRING
определение variantExpr
схемы объекта .
Типы в схеме являются производными типами SQL.
Схема каждого VARIANT
значения объединяется по имени поля. Если два поля с одинаковым именем имеют другой тип в записях, Azure Databricks использует наименее распространенный тип.
Если такой тип не существует, тип является производным как .VARIANT
Например, и стать, а INT
DOUBLE
также статьDOUBLE
.TIMESTAMP
STRING
VARIANT
Чтобы получить схему одного VARIANT
значения, используйте функцию schema_of_variant .
Примеры
-- Simple example
> SELECT schema_of_variant_agg(a) FROM VALUES(parse_json('{"foo": "bar"}')) AS data(a);
OBJECT<foo: STRING>
> SELECT schema_of_variant_agg(a) FROM VALUES(parse_json('[1]')) AS data(a);
ARRAY<BIGINT>
> CREATE TEMPORARY VIEW data(a) AS VALUES
(parse_json('{"foo": "bar", "wing": {"ding": "dong"}}')),
(parse_json('{"wing": 123}'));
> SELECT schema_of_variant_agg(a) FROM data;
OBJECT<foo: STRING, wing: VARIANT>