Sdílet prostřednictvím


schema_of_variant_agg agregační funkce

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano 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ýraz VARIANT .
  • 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 DOUBLEse , zatímco TIMESTAMP a STRING stát VARIANTse .

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>