Partilhar via


schema_of_variant_agg função de agregação

Aplica-se a:marcado como sim Databricks SQL marcado como sim Databricks Runtime 15.3 e versões posteriores

Retorna o esquema combinado de todos os VARIANT valores em um grupo no formato DDL.

Sintaxe

schema_of_variant_agg ( variantExpr ) [FILTER ( WHERE cond ) ]

Argumentos

  • variantExpr: Uma VARIANT expressão.
  • cond: Uma expressão opcional BOOLEAN 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 de VARIANT é mesclado junto pelo 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 esquema de um único valor de 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>