Bagikan melalui


json_tuple fungsi generator bernilai tabel

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Mengembalikan beberapa objek JSON sebagai tuple.

Sintaks

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

Argumen

  • jsonStr: Ekspresi STRING dengan JSON yang terbentuk dengan baik.
  • pathN: Sebuah STRING literal dengan ekspresi jalur JSON.

Pengembalian

Satu baris yang terdiri dari objek JSON.

Jika ada objek yang tidak dapat ditemukan, NULL dikembalikan untuk objek tersebut.

  • Berlaku untuk:centang ditandai ya Databricks Runtime 12.1 dan yang lebih lama:

    json_tuple hanya dapat ditempatkan dalam daftar SELECT sebagai akar ekspresi atau mengikuti LATERAL VIEW. Saat menempatkan fungsi dalam daftar SELECT, tidak boleh ada fungsi generator lain dalam daftar SELECT yang sama, atau akan muncul UNSUPPORTED_GENERATOR.MULTI_GENERATOR.

  • Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 12.2 LTS ke atas:

    Pemanggilan dari klausa LATERAL VIEW atau daftar SELECT tidak dianjurkan lagi. Sebagai gantinya, panggil json_tuple sebagai table_reference.

Contoh

Berlaku untuk:centang ditandai ya Databricks Runtime 12.1 dan yang lebih lama:

> 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

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 12.2 LTS ke atas:

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