json_tuple
função geradora com valor de tabela
Aplica-se a: Databricks SQL Databricks Runtime
Retorna vários objetos JSON como uma tupla.
Sintaxe
json_tuple(jsonStr, path1 [, ...] )
Argumentos
jsonStr
: UmaSTRING
expressão com JSON bem formado.pathN
: UmSTRING
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: Databricks Runtime 12.1 e anteriores:
json_tuple
só pode ser colocado naSELECT
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 mesmaSELECT
lista ou UNSUPPORTED_GENERATOR. MULTI_GENERATOR é levantada.Aplica-se a: Databricks SQL Databricks Runtime 12.2 LTS e superior:
A invocação da cláusula LATERAL VIEW ou da
SELECT
lista foi preterida. Em vez disso, invoquejson_tuple
como um table_reference.
Exemplos
Aplica-se a: 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: Databricks SQL 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;