json_tuple Funzione generatore con valori di tabella

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime

Restituisce più oggetti JSON come tupla.

Sintassi

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

Argomenti

  • jsonStr: espressione STRING con JSON ben formato.
  • pathN: valore letterale STRING con un percorso JSON.

Valori restituiti

Una singola riga composta dagli oggetti JSON.

Se non è possibile trovare un oggetto, NULL viene restituito per tale oggetto.

  • Si applica a:segno di spunta sì Databricks Runtime 12.1 e versioni precedenti:

    json_tuple può essere inserito nell'elenco SELECT solo come radice di un'espressione o dopo una VISUALIZZAZIONE LATERALE. Quando si inserisce la funzione nell'elenco SELECT non deve essere presente alcuna altra funzione generatore nello stesso SELECT elenco o UNSUPPORTED_GENERATOR. MULTI_GENERATOR viene generato.

  • Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 12.2 LTS e versioni successive:

    La chiamata dalla clausola LATERAL VIEW o dall'elenco SELECT è deprecata. Richiamare json_tuple invece come table_reference.

Esempi

Si applica a:segno di spunta sì Databricks Runtime 12.1 e versioni precedenti:

> 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

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 12.2 LTS e versioni successive:

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