json_tuple
table-waardegeneratorfunctie
Van toepassing op: Databricks SQL Databricks Runtime
Retourneert meerdere JSON-objecten als tuple.
Syntaxis
json_tuple(jsonStr, path1 [, ...] )
Argumenten
-
jsonStr
: EenSTRING
expressie met goed gevormde JSON. -
pathN
: EenSTRING
letterlijke term met een JSON-padexpressie.
Retouren
Eén rij die bestaat uit de JSON-objecten.
Als er geen object kan worden gevonden, NULL
wordt het geretourneerd voor dat object.
Van toepassing op: Databricks Runtime 12.1 en eerder:
json_tuple
kan alleen in deSELECT
list worden geplaatst als de wortel van een expressie of na een LATERAL VIEW. Bij het plaatsen van de functie in deSELECT
list mag er geen andere generatorfunctie aanwezig zijn in dezelfdeSELECT
list of , anders wordt UNSUPPORTED_GENERATOR.MULTI_GENERATOR geactiveerd.Van toepassing op: Databricks SQL Databricks Runtime 12.2 LTS en hoger:
Aanroep van de LATERAL VIEW clausule of de
SELECT
list is verouderd verklaard. Roep in plaats daarvanjson_tuple
aan als een table_reference.
Voorbeelden
Van toepassing op: Databricks Runtime 12.1 en eerder:
> 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
Van toepassing op: Databricks SQL Databricks Runtime 12.2 LTS en hoger:
> 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;