Função de agregação schema_of_variant_agg
Aplica-se a: Databricks SQL Databricks Runtime 15.3 e posterior
Retorna o esquema combinado de todos os valores VARIANT
em um grupo no formato DDL.
Sintaxe
schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]
Argumentos
variantExpr
: uma expressãoVARIANT
.cond
: uma expressãoBOOLEAN
opcional que filtra as linhas usadas para agregação.
Devoluções
Um STRING
que contém uma definição de esquema do variantExpr
.
Os tipos no esquema são os tipos SQL formatados derivados.
O esquema de cada valor VARIANT
é mesclado pelo nome do campo. Quando dois campos com o mesmo nome têm um tipo diferente entre os registros, o Azure Databricks usa o tipo menos comum.
Quando esse tipo não existe, ele é derivado como um VARIANT
. Por exemplo, INT
e DOUBLE
tornam-se DOUBLE
, já TIMESTAMP
e STRING
tornam-se VARIANT
.
Para derivar o esquema de apenas um valor VARIANT
, use a função schema_of_variant.
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>