Share via


json_tuple Função geradora com valor de tabela

Aplica-se a:marca de seleção positiva Databricks SQL marca de seleção positiva Databricks Runtime

Retorna vários objetos JSON como uma tupla.

Sintaxe

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

Argumentos

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

Retornos

Uma única linha composta dos objetos JSON.

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

  • Aplica-se a: Databricks Runtime 12.1 e anterior com verificação marcada como sim:

    json_tuple só pode ser colocado na lista SELECT como a raiz de uma expressão ou seguindo uma EXIBIÇÃO LATERAL. Ao colocar a função na lista SELECT, não deve haver nenhuma outra função de gerador na mesma lista SELECT ou um UNSUPPORTED_GENERATOR. MULTI_GENERATOR será gerado.

  • Aplica-se a:verificação marcada como sim Databricks SQL verificação marcada como sim Databricks Runtime 12.2 LTS e versões superiores:

    A invocação a partir da cláusula EXIBIÇÃO LATERAL ou da lista SELECT foi preterida. Em vez disso, invoque json_tuple como uma table_reference.

Exemplos

Aplica-se a: Databricks Runtime 12.1 e anterior com verificação marcada como sim:

> 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:verificação marcada como sim Databricks SQL verificação marcada como sim Databricks Runtime 12.2 LTS e versões superiores:

> 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;