json_tuple
-Tabellenwert-Generator-Funktion
Gilt für: Databricks SQL Databricks Runtime
Gibt mehrere JSON-Objekte als Tupel zurück.
Syntax
json_tuple(jsonStr, path1 [, ...] )
Argumente
jsonStr
: EinSTRING
-Ausdruck mit wohlgeformtem JSON-CodepathN
: EinSTRING
-Literal mit einem JSON-Pfadausdruck
Gibt zurück
Eine einzelne Zeile, die aus den JSON-Objekten besteht.
Wenn ein Objekt nicht gefunden wird, wird NULL
für dieses Objekt zurückgegeben.
Gilt für: Databricks Runtime 12.1 und höher:
json_tuple
kann nur in derSELECT
-Liste als Stamm eines Ausdrucks oder nach einer LATERAL VIEW-Klausel platziert werden. Beim Platzieren der Funktion in derSELECT
-Liste darf keine andere Generatorfunktion in derselbenSELECT
-Liste oder vorhanden sein, da ansonsten die Fehlermeldung UNSUPPORTED_GENERATOR.MULTI_GENERATOR ausgelöst wird.Gilt für: Databricks SQL Databricks Runtime 12.2 LTS und höher:
Der Aufruf der LATERAL VIEW-Klausel oder der
SELECT
-Liste ist veraltet. Rufen Sie stattdessenjson_tuple
als table_reference auf.
Beispiele
Gilt für: Databricks Runtime 12.1 und früher:
> 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
Gilt für: Databricks SQL Databricks Runtime 12.2 LTS und höher:
> 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;