json_tuple
tabellvärdesgeneratorfunktion
Gäller för: Databricks SQL Databricks Runtime
Returnerar flera JSON-objekt som en tuppeln.
Syntax
json_tuple(jsonStr, path1 [, ...] )
Argument
jsonStr
: EttSTRING
uttryck med välformulerad JSON.pathN
: EnSTRING
literal med ett JSON-sökvägsuttryck.
Returer
En enskild rad som består av JSON-objekten.
Om det inte går att hitta NULL
något objekt returneras för objektet.
Gäller för: Databricks Runtime 12.1 och tidigare:
json_tuple
kan endast placeras iSELECT
listan som roten för ett uttryck eller efter en LATERAL VY. När du placerar funktionen iSELECT
listan får det inte finnas någon annan generatorfunktion i sammaSELECT
lista eller UNSUPPORTED_GENERATOR. MULTI_GENERATOR höjs.Gäller för: Databricks SQL Databricks Runtime 12.2 LTS och senare:
Anrop från LATERAL VIEW-satsen eller så
SELECT
är listan inaktuell. Anropajson_tuple
i stället som en table_reference.
Exempel
Gäller för: Databricks Runtime 12.1 och tidigare:
> 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
Gäller för: Databricks SQL Databricks Runtime 12.2 LTS och senare:
> 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;