Fonction de générateur table json_tuple
S’applique à : Databricks SQL Databricks Runtime
Retourne plusieurs objets JSON sous forme de tuple.
Syntaxe
json_tuple(jsonStr, path1 [, ...] )
Arguments
jsonStr
: une expressionSTRING
avec JSON bien formé.pathN
: un littéralSTRING
avec une expression de chemin JSON.
Retours
Ligne unique composée des objets JSON.
Si un objet est introuvable, la valeur NULL
est retournée pour cet objet.
S’applique à : Databricks Runtime 12.1 et versions précédentes :
json_tuple
peut uniquement être placé dans la listeSELECT
en tant que racine d’une expression ou après LATERAL VIEW. Lorsque vous placez la fonction dans la listeSELECT
, il ne doit pas y avoir une autre fonction de générateur dans la même listeSELECT
sinon UNSUPPORTED_GENERATOR.MULTI_GENERATOR est déclenché.S’applique à : Databricks SQL Databricks Runtime 12.2 LTS et versions ultérieures :
L’appel à partir de la clause LATERAL VIEW ou de la liste
SELECT
est déconseillé. En lieu et place, appelezjson_tuple
en tant que table_reference.
Exemples
S’applique à : Databricks Runtime 12.1 et versions précédentes :
> 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
S’applique à : Databricks SQL Databricks Runtime 12.2 LTS et versions ultérieures :
> 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;