Compartilhar via


Função de agregação schema_of_variant_agg

Aplica-se a: marca de seleção positiva Databricks SQL verificação marcada como sim 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ão VARIANT.
  • cond: uma expressão BOOLEAN 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>