schema_of_variant_agg
função agregar
Aplica-se a: Databricks SQL Databricks Runtime 15.3 e posterior
Devolve o schema combinado de todos os VARIANT
values em um grupo no formato DDL.
Sintaxe
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argumentos
-
variantExpr
: UmaVARIANT
expressão. -
cond
: Uma expressão opcionalBOOLEAN
que filtra as linhas usadas para agregação.
Devoluções
Um STRING
detentor de uma definição schema do variantExpr
.
Os tipos no schema são os tipos SQL formatados derivados.
Os schema de cada valor de VARIANT
são mesclados por nome do campo. Quando dois campos com o mesmo nome têm um tipo diferente entre registros, o Azure Databricks usa o tipo menos comum.
Quando esse tipo não existe, o tipo é derivado como um VARIANT
. Por exemplo, INT
e DOUBLE
tornar-se DOUBLE
, enquanto TIMESTAMP
e STRING
tornar-se VARIANT
.
Para derivar o schema de um único valor de VARIANT
, use schema_of_variant função.
Exemplos
-- 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>