json_tuple
Funkce generátoru s hodnotami tabulky
Platí pro: Databricks SQL Databricks Runtime
Vrátí více objektů JSON jako řazenou kolekci členů.
Syntaxe
json_tuple(jsonStr, path1 [, ...] )
Argumenty
jsonStr
: VýrazSTRING
s formátem JSON ve správném formátu.pathN
STRING
: Literál s výrazem cesty JSON.
Návraty
Jeden řádek složený z objektů JSON.
Pokud se některý z objektů nenajde, NULL
vrátí se pro tento objekt.
Platí pro: Databricks Runtime 12.1 a starší:
json_tuple
lze umístitSELECT
do seznamu pouze jako kořen výrazu nebo za zobrazením LATERAL. Při umístění funkce doSELECT
seznamu nesmí existovat žádná jiná generátorová funkce ve stejnémSELECT
seznamu nebo UNSUPPORTED_GENERATOR. MULTI_GENERATOR je vyvolána.Platí pro: Databricks SQL Databricks Runtime 12.2 LTS a vyšší:
Vyvolání z klauzule LATERAL VIEW nebo
SELECT
je seznam zastaralý. Místo toho se vyvolájson_tuple
jako table_reference.
Příklady
Platí pro: Databricks Runtime 12.1 a starší:
> 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
Platí pro: Databricks SQL Databricks Runtime 12.2 LTS a vyšší:
> 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;