json_tuple
generatorfunctie met tabelwaarde
Van toepassing op: Databricks SQL Databricks Runtime
Retourneert meerdere JSON-objecten als tuple.
Syntaxis
json_tuple(jsonStr, path1 [, ...] )
Argumenten
jsonStr
: Een STRING-expressie met goed gevormde JSON.pathN
: Een letterlijke tekenreeks met een JSON-pad.
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
lijst worden geplaatst als hoofdmap van een expressie of na een LATERALE WEERGAVE. Wanneer u de functie in deSELECT
lijst plaatst, mag er geen andere generatorfunctie in dezelfdeSELECT
lijst of UNSUPPORTED_GENERATOR zijn. MULTI_GENERATOR wordt opgevoed.Van toepassing op: Databricks SQL Databricks Runtime 12.2 LTS en hoger:
Aanroep vanuit de COMPONENT LATERAL VIEW of de
SELECT
lijst is afgeschaft. 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;