Delen via


json_tuple table-waardegeneratorfunctie

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime

Retourneert meerdere JSON-objecten als tuple.

Syntaxis

json_tuple(jsonStr, path1 [, ...] )

Argumenten

  • jsonStr: Een STRING expressie met goed gevormde JSON.
  • pathN: Een STRING letterlijke term met een JSON-padexpressie.

Retouren

Eén rij die bestaat uit de JSON-objecten.

Als er geen object kan worden gevonden, NULL wordt het geretourneerd voor dat object.

  • Van toepassing op:vinkje als ja aan Databricks Runtime 12.1 en eerder:

    json_tuple kan alleen in de SELECTlist worden geplaatst als de wortel van een expressie of na een LATERAL VIEW. Bij het plaatsen van de functie in de SELECTlist mag er geen andere generatorfunctie aanwezig zijn in dezelfde SELECTlist of , anders wordt UNSUPPORTED_GENERATOR.MULTI_GENERATOR geactiveerd.

  • Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 12.2 LTS en hoger:

    Aanroep van de LATERAL VIEW clausule of de SELECTlist is verouderd verklaard. Roep in plaats daarvan json_tuple aan als een table_reference.

Voorbeelden

Van toepassing op:vinkje als ja aan Databricks Runtime 12.1 en eerder:

> 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

Van toepassing op:vinkje als ja aan Databricks SQL vinkje als ja aan Databricks Runtime 12.2 LTS en hoger:

> 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;