Partilhar via


json_tuple função geradora com valor de tabela

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime

Retorna vários objetos JSON como uma tupla.

Sintaxe

json_tuple(jsonStr, path1 [, ...] )

Argumentos

  • jsonStr: Uma STRING expressão com JSON bem formado.
  • pathN: Um STRING literal com uma expressão de caminho JSON.

Devoluções

Uma única linha composta pelos objetos JSON.

Se algum objeto não puder ser encontrado, NULL será retornado para esse objeto.

  • Aplica-se a: Marque Sim Databricks Runtime 12.1 e anteriores:

    json_tuplesó pode ser colocado na SELECT lista como a raiz de uma expressão ou seguindo uma VISÃO LATERAL. Ao colocar a função na lista, SELECT não deve haver outra função geradora na mesma SELECT lista ou UNSUPPORTED_GENERATOR. MULTI_GENERATOR é levantada.

  • Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime 12.2 LTS e superior:

    A invocação da cláusula LATERAL VIEW ou da SELECT lista foi preterida. Em vez disso, invoque json_tuple como um table_reference.

Exemplos

Aplica-se a: Marque Sim Databricks Runtime 12.1 e anteriores:

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'b'), 'Spark SQL';
 1  2  Spark SQL

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), 'Spark SQL';
 1  NULL  Spark SQL

> SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), json_tuple('{"c":1, "d":2}', 'c', 'd'), 'Spark SQL';
 Error: UNSUPPORTED_GENERATOR.MULTI_GENERATOR

Aplica-se a: Marque Sim Databricks SQL Marque Sim Databricks Runtime 12.2 LTS e superior:

> SELECT j.*, 'Spark SQL' FROM json_tuple('{"a":1, "b":2}', 'a', 'b') AS j;
 1  2  Spark SQL

> SELECT j.*, 'Spark SQL' FROM json_tuple('{"a":1, "b":2}', 'a', 'c') AS j;
 1  NULL  Spark SQL

> SELECT j1.*, j2.*, 'Spark SQL'
 FROM json_tuple('{"a":1, "b":2}', 'a', 'c') AS j1,
      json_tuple('{"c":1, "d":2}', 'c', 'd') AS j2;