Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
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: EkspresiARRAY<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:
Databricks Runtime 12.1 dan yang lebih lama:inlinehanya dapat ditempatkan dalam daftarSELECTsebagai akar ekspresi atau mengikuti LATERAL VIEW. Saat menempatkan fungsi dalam daftarSELECT, tidak boleh ada fungsi generator lain dalam daftarSELECTyang sama, atau UNSUPPORTED_GENERATOR.MULTI_GENERATOR akan muncul.Berlaku untuk:
Databricks SQL
Databricks Runtime 12.2 LTS ke atas:Pemanggilan dari klausa LATERAL VIEW atau daftar
SELECTtidak digunakan lagi. Sebagai gantinya, panggilinlinesebagai table_reference.
Contoh
Berlaku untuk:
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:
Databricks SQL
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