Olvasás angol nyelven

Megosztás a következőn keresztül:


json_tuple táblaértékű generátorfüggvény

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Több JSON-objektumot ad vissza tömbként.

Szin­taxis

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

Argumentumok

  • jsonStr: Jól STRING formázott JSON-t tartalmazó kifejezés.
  • pathN: Egy STRING JSON-elérésiút-kifejezéssel rendelkező literál.

Visszaküldések

A JSON-objektumokból álló egyetlen sor.

Ha nem található objektum, NULL a rendszer visszaadja az adott objektumot.

  • A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.1 és korábbi verziók:

    json_tuple csak kifejezés gyökereként vagy egy SELECTkövetésével helyezhető el a LATERAL VIEW listában. Ha a függvényt a SELECT listában helyezi el, nem lehet más generátorfüggvény ugyanabban a SELECT listában, különben UNSUPPORTED_GENERATOR.MULTI_GENERATOR hiba lép fel.

  • A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és újabb:

    A LATERAL VIEW záradék vagy a SELECT lista meghívása kerülendő. Ehelyett hívjon meg json_tuple table_reference.

Példák

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.1 és korábbi verziók:

> 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

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime 12.2 LTS és újabb:

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

További források

Dokumentáció