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.
Important
Tabel Iceberg yang dikelola Unity Catalog tersedia dalam Pratinjau Umum di Databricks Runtime 16.4 LTS ke atas. Tabel Iceberg asing juga berada dalam Pratinjau Umum di Databricks Runtime 16.4 LTS ke atas.
Fitur Iceberg v3 tersedia dalam Versi Beta di Databricks Runtime 17.3 ke atas. Lihat Menggunakan fitur Apache Iceberg v3.
Apache Iceberg adalah format tabel sumber terbuka untuk beban kerja analitik. Ini mendukung fitur seperti evolusi skema, perjalanan waktu, dan partisi tersembunyi. Seperti Delta Lake, Iceberg menyediakan lapisan abstraksi yang memungkinkan transaksi ACID pada data yang disimpan dalam penyimpanan objek. Azure Databricks mendukung tabel Iceberg yang menggunakan format file Apache Parquet. Iceberg mempertahankan atomitas dan konsistensi dengan menulis file metadata baru untuk setiap perubahan tabel.
Katalog Iceberg adalah lapisan tingkat atas arsitektur tabel Iceberg. Ini menangani operasi seperti membuat, menghilangkan, dan mengganti nama tabel. Tanggung jawab utamanya adalah menyediakan metadata saat ini ketika tabel dimuat. Azure Databricks mendukung tabel Iceberg yang dikelola oleh:
- Katalog Unity
- Katalog asing, seperti AWS Glue, Apache Hive Metastore, atau Snowflake Horizon Catalog
Semua tabel Iceberg di Azure Databricks mengikuti spesifikasi format tabel Iceberg terbuka. Lihat spesifikasi tabel Iceberg.
Membuat tabel Iceberg di Unity Catalog
Tabel Iceberg yang dibuat di Unity Catalog adalah tabel Iceberg yang dikelola. Anda dapat membuat tabel ini menggunakan:
- Databricks Runtime atau Databricks SQL
- Mesin eksternal yang kompatibel dengan Iceberg yang mendukung Iceberg REST Catalog API, seperti Apache Spark, Flink, Trino, atau Kafka. Lihat Mengakses tabel Azure Databricks dari klien Apache Iceberg.
Tabel Iceberg terkelola sepenuhnya terintegrasi dengan fitur platform Azure Databricks. Katalog Unity mengelola tugas siklus hidup seperti kedaluwarsa rekam jepret dan pemadatan file pada tabel ini. Tabel Iceberg terkelola juga mendukung pengklusteran cairan, yang meningkatkan performa kueri. Pengoptimalan prediktif mengotomatiskan tugas-tugas ini untuk mengurangi biaya penyimpanan dan meningkatkan kecepatan kueri. Databricks merekomendasikan penggunaan klien Iceberg 1.9.2 ke atas untuk membaca dan menulis ke Unity Catalog.
Mengakses tabel Iceberg yang dikelola oleh katalog yang lain
Tabel Iceberg asing adalah tabel Iceberg yang dikelola oleh katalog di luar Unity Catalog. Katalog eksternal menyimpan metadata tabel saat ini. Azure Databricks menggunakan Federasi Lakehouse untuk mengambil metadata dan membaca tabel dari penyimpanan objek.
Tabel Iceberg eksternal di Azure Databricks bersifat baca-saja dan memiliki dukungan platform yang terbatas.
Mengakses tabel Iceberg menggunakan sistem eksternal
Anda dapat mengakses semua tabel Iceberg di Unity Catalog menggunakan Iceberg REST Catalog API. API terbuka ini mendukung operasi baca dan tulis dari mesin Iceberg eksternal di berbagai bahasa dan platform. Lihat Mengakses tabel Azure Databricks dari klien Apache Iceberg.
Katalog REST mendukung penjual kredensial, yang memberikan kredensial sementara ke mesin eksternal untuk mengakses penyimpanan yang mendasar. Untuk informasi selengkapnya, lihat Penyediaan kredensial Katalog Unity untuk akses sistem eksternal.
Batasan tabel gunung es
Batasan berikut berlaku untuk tabel Iceberg di Azure Databricks dan dapat berubah:
- Tabel Iceberg hanya mendukung format file Apache Parquet.
- Azure Databricks mendukung spesifikasi Iceberg versi 1, 2, dan 3.
- Untuk batasan khusus v3, lihat Batasan.
- Penghapusan posisi Iceberg v2 dan penghapusan berbasis kesetaraan tidak didukung. Sebaliknya, Azure Databricks mendukung vektor penghapusan Iceberg v3 untuk penghapusan tingkat baris.
- Pencabangan dan pemberian tag tidak didukung. Hanya cabang utama yang dapat diakses ketika membaca tabel Iceberg asing.
- Partisi:
- Evolusi partisi didukung pada tabel Iceberg yang dikelola hanya saat berinteraksi dengan mesin Iceberg eksternal.
- Tabel Iceberg asing tidak mendukung evolusi partisi.
- Pemartisian menurut
BINARYjenis tidak didukung.
- Jenis data berikut ini tidak didukung:
UUIDFixed(L)TIME- Berlapis
STRUCTdengan bidang yang diperlukan
- Tabel Iceberg terkelola tidak mendukung batasan kunci primer atau kunci asing.
Batasan tabel Iceberg yang Dikelola
Batasan berikut berlaku khusus untuk tabel Iceberg terkelola:
- Pencarian vektor tidak didukung.
- Iceberg tidak mendukung perubahan umpan data. Akibatnya, pemrosesan bertahap tidak didukung saat membaca tabel Iceberg terkelola sebagai sumber untuk:
- Tampilan materialisasi dan tabel streaming
- Pemrofilan data
- Tabel online
- Lakebase
- Klasifikasi data
- Tabel Iceberg terkelola hanya dapat dibuat jika pengoptimalan prediktif diaktifkan untuk pemeliharaan tabel.
- Properti tabel berikut dikelola oleh Katalog Unity dan tidak dapat diatur secara manual:
write.location-provider.implwrite.data.pathwrite.metadata.pathwrite.format.defaultwrite.delete.format.default
- Codec kompresi untuk mengubah pemadatan tabel tidak didukung. Semua tabel menggunakan Zstd secara default.
- Pemartisian menurut ekspresi (misalnya, ,
years(),months()days(),hours(),bucket()) tidak didukung.
Batasan tabel Gunung Es Asing
Batasan berikut berlaku khusus untuk tabel Iceberg asing:
- Pengembaraan waktu hanya didukung untuk cuplikan Iceberg yang sebelumnya telah dibaca di Azure Databricks (yaitu, cuplikan di mana pernyataan
SELECTtelah dijalankan). - Menggunakan fungsi transformasi bucket untuk pemartisian Iceberg dapat menurunkan performa kueri saat filter kondisional digunakan.
- Produk pengelompokan penyimpanan cloud seperti Amazon S3 tidak terintegrasi dengan tabel Iceberg eksternal. Mengakses tabel Iceberg asing di Azure Databricks dapat memulihkan data yang diarsipkan dalam tingkat penyimpanan dengan biaya lebih rendah.
- Pada kluster mode akses khusus, pembacaan dan proses
REFRESH FOREIGN TABLEoperasi pada tabel Iceberg memerlukanALL PRIVILEGES.