Compartilhar via


json_tuple Função geradora com valor de tabela

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

Retorna vários objetos JSON como uma tupla.

Sintaxe

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

Argumentos

Devoluções

Uma única linha composta dos objetos JSON.

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

  • Aplica-se a: verificação marcada como sim Databricks Runtime 12.1 e versões anteriores:

    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 simSQL do Databricks verificação marcada como sim Databricks Runtime 12.2 LTS e superior:

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

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