Fonction d’agrégation schema_of_variant_agg
S’applique à : Databricks SQL 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
: expressionVARIANT
.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>