Konsep tabel Azure Databricks

Tabel Azure Databricks berada dalam skema dan berisi baris data. Jenis tabel default yang dibuat di Azure Databricks adalah tabel terkelola Unity Catalog.

Contoh berikut menunjukkan tabel terkelola bernama prod.people_ops_employees yang berisi data sekitar lima karyawan. Sebagai tabel terkelola, file data disimpan di lokasi penyimpanan terkelola Unity Catalog di penyimpanan cloud.

Contoh tabel yang berisi data karyawan

Format penyimpanan

Jenis tabel di Azure Databricks menentukan bagaimana data dimiliki dan diakses. Secara terpisah, format penyimpanan menentukan bagaimana data disusun dan dilacak secara fisik pada disk.

Azure Databricks mendukung dua format penyimpanan tabel terbuka utama:

  • Delta Lake adalah format penyimpanan default untuk tabel terkelola dan eksternal di Azure Databricks. Delta juga didukung untuk tabel asing.
  • Apache Iceberg didukung pada tabel terkelola dan asing di Azure Databricks. Format ini berguna saat Anda mengintegrasikan dengan ekosistem Iceberg.

Format ini menambahkan lapisan penyimpanan transaksional yang melacak metadata dan memungkinkan kepatuhan Atomitas, Konsistensi, Isolasi, dan Durabilitas (ACID), perjalanan waktu, dan fitur lainnya.

Jenis tabel

Azure Databricks menawarkan tiga jenis tabel utama, masing-masing dirancang untuk skenario manajemen data dan model kepemilikan yang berbeda. Pilihan jenis tabel Anda menentukan bagaimana Azure Databricks mengelola file data dan metadata yang mendasar.

Diferensiator utama untuk jenis tabel di Azure Databricks adalah katalog pemilik, seperti yang dijelaskan dalam tabel berikut:

Jenis tabel Mengelola katalog Dukungan baca/tulis Pengoptimalan performa Pengoptimalan biaya penyimpanan
Terkelola Katalog Unity Yes Yes Yes
Sementara Tidak ada (tabel yang dikelola dengan cakupan sesi) Yes Yes Yes
Eksternal Tidak ada (hanya file) Yes Hanya manual Hanya manual
Asing Sistem eksternal atau layanan katalog Baca saja Tidak. Tidak.

Tabel yang dikelola

Tabel terkelola mengelola file data yang mendasar bersama pendaftaran metastore. Databricks merekomendasikan agar Anda menggunakan tabel terkelola setiap kali Anda membuat tabel baru. Tabel terkelola Unity Catalog adalah default saat Anda membuat tabel di Azure Databricks. Lihat Tabel terkelola.

Tabel eksternal

Tabel eksternal, kadang-kadang disebut tabel yang tidak dikelola, mereferensikan data yang disimpan di luar Azure Databricks dalam sistem penyimpanan eksternal, seperti penyimpanan objek cloud. Mereka memisahkan manajemen file data yang mendasar dari pendaftaran metastore. Katalog Unity mendukung tabel eksternal dalam beberapa format, termasuk Delta Lake. Tabel eksternal Unity Catalog dapat menyimpan file data menggunakan format umum yang dapat dibaca oleh sistem eksternal. Lihat Tabel eksternal.

Tabel dari luar

Tabel asing mewakili data yang disimpan dalam sistem eksternal yang terhubung ke Azure Databricks melalui Federasi Lakehouse. Tabel asing bersifat baca-saja di Azure Databricks. Lihat Tabel asing.

Tabel sementara

Tabel sementara adalah tabel berlingkup sesi yang menyimpan data selama durasi sesi Azure Databricks. Ini berguna untuk mewujudkan hasil menengah tanpa membuat tabel permanen di katalog Anda. Azure Databricks secara otomatis menghilangkan tabel sementara saat sesi berakhir, dan Anda tidak memerlukan hak istimewa katalog atau skema untuk membuatnya. Lihat Tabel sementara.

Tabel dalam Katalog Unity

Di Katalog Unity, tabel berada di tingkat ketiga namespace tiga tingkat (catalog.schema.table), seperti yang diperlihatkan dalam diagram berikut:

Diagram model objek Katalog Unity, difokuskan pada tabel

Izin tabel dasar

Sebagian besar operasi tabel memerlukan USE CATALOG izin dan USE SCHEMA pada katalog dan skema yang berisi tabel.

Tabel berikut ini meringkas izin tambahan yang diperlukan untuk operasi tabel umum di Katalog Unity:

Operasi Permissions
Membuat tabel CREATE TABLE pada skema yang berisi
Mengkueri tabel SELECT pada tabel
Memperbarui, menghapus, menggabungkan, atau menyisipkan data ke tabel SELECT dan MODIFY di atas tabel
Menghapus tabel MANAGE pada tabel
Mengganti tabel MANAGE pada tabel, CREATE TABLE pada skema yang berisi

Untuk referensi sintaks SQL untuk operasi ini, lihat:

Untuk informasi selengkapnya tentang izin Katalog Unity, lihat Mengelola hak istimewa di Katalog Unity.