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
: expression de type chaîne (STRING) avec JSON bien formé.pathN
: littéral de type chaîne (STRING) avec un chemin d’accès 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 antérieures :
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 antérieures :
> 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;