Kloning dangkal untuk tabel Unity Catalog
Penting
Dukungan kloning dangkal untuk tabel terkelola Unity Catalog ada di Pratinjau Umum di Databricks Runtime 13.3 ke atas. Dukungan kloning dangkal untuk tabel eksternal Unity Catalog ada di Pratinjau Umum di Databricks Runtime 14.2 ke atas.
Anda dapat menggunakan kloning dangkal untuk membuat tabel Unity Catalog baru dari tabel Unity Catalog yang ada. Dukungan kloning dangkal untuk Unity Catalog memungkinkan Anda membuat tabel dengan hak istimewa kontrol akses yang independen dari tabel induk mereka tanpa perlu menyalin file data yang mendasar.
Penting
Anda hanya dapat mengkloning tabel terkelola Unity Catalog ke tabel terkelola Unity Catalog dan tabel eksternal Unity Catalog ke tabel eksternal Unity Catalog. VACUUM
perilaku berbeda antara tabel terkelola dan eksternal. Lihat Klon Vakum dan Unity Catalog dangkal.
Untuk informasi selengkapnya tentang kloning Delta, lihat Mengkloning tabel di Azure Databricks.
Untuk informasi selengkapnya tentang tabel Unity Catalog, lihat Apa itu tabel dan tampilan?.
Membuat kloning dangkal pada Unity Catalog
Anda dapat membuat kloning dangkal di Unity Catalog menggunakan sintaks yang sama yang tersedia untuk kloning dangkal di seluruh produk, seperti yang ditunjukkan dalam contoh sintaks berikut:
CREATE TABLE <catalog-name>.<schema-name>.<target-table-name> SHALLOW CLONE <catalog-name>.<schema-name>.<source-table-name>
Untuk membuat kloning dangkal pada Unity Catalog, Anda harus memiliki hak istimewa yang memadai pada sumber daya sumber dan target, seperti yang dirinci dalam tabel berikut:
Sumber daya | Izin yang diperlukan |
---|---|
Tabel sumber | SELECT |
Skema sumber | USE SCHEMA |
Katalog sumber | USE CATALOG |
Skema target | USE SCHEMA , CREATE TABLE |
Katalog target | USE CATALOG |
Lokasi eksternal target (hanya tabel eksternal) | CREATE EXTERNAL TABLE |
Seperti pernyataan buat tabel lainnya, pengguna yang membuat kloning dangkal adalah pemilik tabel target. Pemilik tabel kloning target dapat mengontrol hak akses untuk tabel tersebut secara independen dari tabel sumber.
Catatan
Pemilik tabel kloning mungkin berbeda dari pemilik tabel sumber.
Mengkueri atau mengubah tabel kloning dangkal di Unity Catalog
Penting
Instruksi di bagian ini menjelaskan hak istimewa yang diperlukan untuk komputasi yang dikonfigurasi dengan mode akses bersama. Untuk mode akses Pengguna Tunggal, lihat Bekerja dengan tabel kloning dangkal dalam mode akses Pengguna Tunggal.
Untuk mengkueri kloning dangkal pada Unity Catalog, Anda harus memiliki hak istimewa yang memadai pada tabel dan berisi sumber daya, seperti yang dirinci dalam tabel berikut:
Sumber daya | Izin yang diperlukan |
---|---|
Katalog | USE CATALOG |
Skema | USE SCHEMA |
Tabel | SELECT |
Anda juga harus memiliki MODIFY
izin pada target operasi kloning untuk menyelesaikan tindakan berikut:
- Sisipkan rekaman
- Hapus rekaman
- Memperbarui rekaman
MERGE
CREATE OR REPLACE TABLE
DROP TABLE
Klon vakum dan Unity Catalog dangkal
Penting
Perilaku ini ada di Pratinjau Umum di Databricks Runtime 13.3 LTS ke atas untuk tabel terkelola dan Databricks Runtime 14.2 ke atas untuk tabel eksternal.
Saat Anda menggunakan tabel Unity Catalog untuk sumber dan target operasi kloning dangkal, Unity Catalog mengelola file data yang mendasar untuk meningkatkan keandalan untuk sumber dan target operasi kloning. Berjalan VACUUM
pada sumber kloning dangkal tidak merusak tabel kloning.
Biasanya, ketika VACUUM
mengidentifikasi file yang valid untuk ambang retensi tertentu, hanya metadata untuk tabel saat ini yang dipertimbangkan. Dukungan kloning dangkal untuk Unity Catalog melacak hubungan antara semua tabel kloning dan file data sumber, sehingga file yang valid diperluas untuk menyertakan file data yang diperlukan untuk mengembalikan kueri untuk tabel kloning dangkal serta tabel sumber.
Ini berarti bahwa untuk semantik kloning VACUUM
dangkal Katalog Unity, file data yang valid adalah file apa pun dalam ambang retensi yang ditentukan untuk tabel sumber atau tabel kloning apa pun. Tabel terkelola dan tabel eksternal memiliki semantik yang sedikit berbeda.
Pelacakan metadata yang ditingkatkan ini mengubah bagaimana VACUUM
operasi memengaruhi file data yang mendukung tabel Delta, dengan semantik berikut:
- Untuk tabel terkelola,
VACUUM
operasi terhadap sumber atau target operasi kloning dangkal dapat menghapus file data dari tabel sumber. - Untuk tabel eksternal,
VACUUM
operasi hanya menghapus file data dari tabel sumber saat dijalankan terhadap tabel sumber. - Hanya file data yang tidak dianggap valid untuk tabel sumber atau kloning dangkal terhadap sumber yang dihapus.
- Jika beberapa kloning dangkal didefinisikan terhadap tabel sumber tunggal, berjalan
VACUUM
pada salah satu tabel kloning tidak menghapus file data yang valid untuk tabel kloning lainnya.
Catatan
Databricks merekomendasikan untuk tidak pernah berjalan VACUUM
dengan pengaturan retensi kurang dari 7 hari untuk menghindari kerusakan transaksi jangka panjang yang sedang berlangsung. Jika Anda perlu menjalankan VACUUM
dengan ambang retensi yang lebih rendah, pastikan Anda memahami bagaimana VACUUM
kloning dangkal di Unity Catalog berbeda dari bagaimana VACUUM
berinteraksi dengan tabel kloning lainnya di Azure Databricks. Harap lihat Mengkloning tabel pada Azure Databricks.
Bekerja dengan tabel kloning dangkal dalam mode akses Pengguna Tunggal
Saat bekerja dengan kloning Unity Catalog dangkal dalam mode akses Pengguna Tunggal, Anda harus memiliki izin pada sumber daya untuk sumber tabel kloning serta tabel target.
Ini berarti bahwa untuk kueri sederhana selain izin yang diperlukan pada tabel target, Anda harus memiliki USE
izin pada katalog sumber dan skema dan SELECT
izin pada tabel sumber. Untuk kueri apa pun yang akan memperbarui atau menyisipkan rekaman ke tabel target, Anda juga harus memiliki MODIFY
izin pada tabel sumber.
Databricks merekomendasikan untuk bekerja dengan klon Katalog Unity pada komputasi dengan mode akses bersama karena ini memungkinkan evolusi izin independen untuk target kloning unity Catalog dangkal dan tabel sumbernya.
Batasan
- Kloning dangkal pada tabel eksternal harus tabel eksternal. Kloning dangkal pada tabel terkelola harus dikelola tabel.
- Anda tidak dapat berbagi kloning dangkal menggunakan Berbagi Delta.
- Anda tidak dapat menumpuk kloning dangkal, yang berarti Anda tidak dapat membuat kloning dangkal dari kloning dangkal.
- Untuk tabel terkelola, menghilangkan tabel sumber merusak tabel target untuk kloning dangkal. File data yang mendukung tabel eksternal tidak dihapus oleh
DROP TABLE
operasi, sehingga klon tabel eksternal yang dangkal tidak terpengaruh dengan menghilangkan sumbernya. - Katalog Unity memungkinkan pengguna untuk
UNDROP
mengelola tabel selama sekitar 7 hari setelahDROP TABLE
perintah. Dalam Databricks Runtime 13.3 LTS ke atas, klon dangkal yang dikelola berdasarkan tabel terkelola yang dihilangkan terus berfungsi selama periode 7 hari ini. Jika Anda bukanUNDROP
tabel sumber di jendela ini, kloning dangkal berhenti berfungsi setelah file data tabel sumber dikumpulkan sampah.