schema_of_variant_agg agregační funkce

Platí pro:označeno jako ano Databricks SQL označeno jako ano Databricks Runtime 15.3 a vyšší

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ýraz VARIANT.
  • cond: Volitelný BOOLEAN výraz filtrující řádky použité pro agregaci.

Návraty

Držení definice schématu pro STRINGvariantExpr. 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 se stanou DOUBLE, zatímco TIMESTAMP a STRING se stanou VARIANT.

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>