json_tuple
(función de generador con valores de tabla)
Se aplica a: Databricks SQL Databricks Runtime
Devuelve varios objetos JSON como tupla.
Sintaxis
json_tuple(jsonStr, path1 [, ...] )
Argumentos
jsonStr
: una expresiónSTRING
con JSON bien formado.pathN
: un literalSTRING
con una expresión de ruta JSON.
Devoluciones
Una única fila compuesta por los objetos JSON.
Si no se encuentra ningún objeto, se devuelve NULL
para ese objeto.
Se aplica a: Databricks Runtime 12.1 y versiones anteriores:
json_tuple
solo se puede colocar en la listaSELECT
como la raíz de una expresión o después de una VISTA LATERAL. Al colocar la función en la listaSELECT
, no debe haber ninguna otra función generadora en la misma listaSELECT
o se genera UNSUPPORTED_GENERATOR. MULTI_GENERATOR.Se aplica a Databricks SQL Databricks Runtime 12.2 LTS y versiones posteriores:
La invocación de la cláusula LATERAL VIEW o la lista
SELECT
está en desuso. En su lugar, invocajson_tuple
como un table_reference.
Ejemplos
Se aplica a: Databricks Runtime 12.1 y versiones 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
Se aplica a Databricks SQL Databricks Runtime 12.2 LTS y versiones 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;