Sdílet prostřednictvím


json_tuple funkce generátoru s hodnotami tabulky

Platí pro:označeno jako ano Databricks SQL označeno jako ano Databricks Runtime

Vrátí více objektů JSON jako řazenou kolekci členů.

Syntaxe

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

Argumenty

  • jsonStr: Výraz STRING s dobře strukturovaným JSON.
  • pathN: STRING Literál s JSON výrazem cesty.

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:zaškrtnuto ano Databricks Runtime 12.1 a starší:

    json_tuple lze umístit pouze do seznamu SELECT jako kořen výrazu nebo za LATERAL VIEW. Při umístění funkce do seznamu SELECT nesmí být ve stejném seznamu SELECT žádná jiná generátorová funkce, jinak dojde k vyvolání UNSUPPORTED_GENERATOR.MULTI_GENERATOR.

  • Platí pro:zaškrtnuté ano Databricks SQL zaškrtnuté ano Databricks Runtime 12.2 LTS a vyšší:

    Vyvolání z klauzule ,LATERAL VIEW, nebo ze seznamu SELECT je zastaralé. Místo toho se vyvolá json_tuple jako table_reference.

Příklady

Platí pro:zaškrtnuto ano 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:zaškrtnuté ano Databricks SQL zaškrtnuté ano 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;