schema_of_variant_agg
funkcja agregacji
Dotyczy: Databricks SQL Databricks Runtime 15.3 i nowsze
Zwraca połączony schemat wszystkich VARIANT
wartości w grupie w formacie DDL.
Składnia
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argumenty
variantExpr
VARIANT
: wyrażenie.cond
: opcjonalneBOOLEAN
wyrażenie filtrujące wiersze używane do agregacji.
Zwraca
Trzymając STRING
definicję schematu .variantExpr
Typy w schemacie to pochodne typy SQL sformatowane.
Schemat każdej VARIANT
wartości jest scalony ze sobą według nazwy pola. Jeśli dwa pola o tej samej nazwie mają inny typ w rekordach, usługa Azure Databricks używa najmniej typowego typu.
Jeśli taki typ nie istnieje, typ jest pochodny jako VARIANT
. Na przykład INT
i DOUBLE
stają się wartościami , a STRING
TIMESTAMP
następnie DOUBLE
stają się .VARIANT
Aby uzyskać schemat pojedynczej VARIANT
wartości, użyj funkcji schema_of_variant .
Przykłady
-- 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>