Udostępnij za pośrednictwem


schema_of_variant_agg funkcja agregacji

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak 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

  • variantExprVARIANT: wyrażenie.
  • cond: opcjonalne BOOLEAN 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 DOUBLEstają 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>