Bagikan melalui


inline fungsi generator bernilai tabel

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

Meledakkan array struktur ke dalam tabel.

Dalam Databricks SQL dan Databricks Runtime 16.1 ke atas fungsi ini mendukung pemanggilan parameter bernama.

Sintaks

inline(input)

Argumen

  • input: Ekspresi ARRAY<STRUCT> .

Mengembalikan

Sekumpulan baris yang terdiri dari kolom dalam elemen struktur dari array input. Kolom yang dihasilkan oleh inline adalah nama bidang.

Jika input tidak ada NULL baris yang diproduksi.

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

    inline 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 UNSUPPORTED_GENERATOR.MULTI_GENERATOR akan muncul.

  • 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 digunakan lagi. Sebagai gantinya, panggil inline sebagai table_reference.

Contoh

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

> SELECT inline(array(struct(1, 'a'), struct(2, 'b'))), 'Spark SQL';
 1  a Spark SQL
 2  b Spark SQL

> SELECT inline(array(struct(1, 'a'), struct(1, 'b'))),
         inline(array(struct('c', 1.0), struct('d', 2.0))),
         'Spark SQL';
 1  a Spark SQL
 2  b 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 i.*, 'Spark SQL'
    FROM inline(array(struct(1, 'a'), struct(2, 'b'))) AS i;
 1  a Spark SQL
 2  b Spark SQL

> SELECT i1.*, i2.*, 'Spark SQL'
   FROM  inline(array(struct(1, 'a'), struct(1, 'b'))) AS i1,
         inline(array(struct('c', 1.0), struct('d', 2.0))) AS i2;
 1      a       c       1.0     Spark SQL
 1      b       c       1.0     Spark SQL
 1      a       d       2.0     Spark SQL
 1      b       d       2.0     Spark SQL