schema_of_variant_agg
agregační funkce
Platí pro: Databricks SQL
Databricks Runtime 15.3 a novější
Vrátí kombinované schéma všech VARIANT
hodnot ve skupině ve formátu DDL.
Syntaxe
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argumenty
-
variantExpr
: VýrazVARIANT
. -
cond
: VolitelnýBOOLEAN
výraz filtrující řádky použité pro agregaci.
Návraty
A STRING
holding a schema definition of the variantExpr
.
Typy ve schématu jsou odvozené formátované typy SQL.
Schéma každé VARIANT
hodnoty je sloučeno podle názvu pole. Pokud mají dvě pole se stejným názvem jiný typ napříč záznamy, Azure Databricks používá nejméně společný typ.
Pokud takový typ neexistuje, typ je odvozen jako VARIANT
. Například INT
a DOUBLE
stát DOUBLE
se , zatímco TIMESTAMP
a STRING
stát VARIANT
se .
K odvození schématu jedné VARIANT
hodnoty použijte funkci schema_of_variant .
Příklady
-- 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>