Partilhar via


schema_of_variant_agg função agregar

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 15.3 e posterior

Devolve o schema combinado de todos os VARIANTvalues 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 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>