schema_of_variant_agg função agregar

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

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

A STRING segurando uma definição de esquema do variantExpr. Os tipos no esquema são os tipos SQL formatados derivados.

O esquema de cada VARIANT valor é mesclado 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 VARIANT valor, 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>