Partager via


Fonction d’agrégation schema_of_variant_agg

S’applique à : coche pour oui Databricks SQL coche marquée oui Databricks Runtime 15.3 et versions ultérieures

Retourne le schéma combiné de toutes les valeurs VARIANT dans un groupe au format DDL.

Syntaxe

schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]

Arguments

  • variantExpr : expression VARIANT.
  • cond : expression de langageBOOLEAN facultative qui filtre les lignes utilisées pour l’agrégation.

Retours

Un STRING tenant une définition de schéma de variantExpr. Les types dans le schéma sont les types SQL mis en forme dérivés.

Le schéma de chaque valeur VARIANT est fusionné par nom de champ. Lorsque deux champs portant le même nom ont un type différent entre les enregistrements, Azure Databricks utilise le type le moins courant. Lorsqu’il n’existe aucun type de ce type, le type est dérivé en tant que VARIANT. Par exemple, INT et DOUBLE deviennent DOUBLE, tandis que TIMESTAMP et STRING deviennent VARIANT.

Pour dériver le schéma d’une valeur VARIANT unique, utilisez la fonction schema_of_variant.

Exemples

-- 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>