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.
Anda dapat membuat salinan lengkap dan independen dari tabel Iceberg terkelola menggunakan DEEP CLONE. Deep clone menyalin baik file data maupun metadata tabel ke dalam tabel Iceberg terkelola yang baru di Unity Catalog.
Tabel Iceberg terkelola hanya mendukung kloning mendalam. Kloning dangkal maupun konversi format selama proses kloning tidak didukung.
Metode kloning untuk tabel Iceberg
Operasi kloning yang Anda gunakan tergantung pada jenis tabel sumber dan target Anda:
| Sumber | Target | Pengoperasian |
|---|---|---|
| Gunung Es Terkelola | Gunung Es Terkelola |
DEEP CLONE. |
| Gunung Es Asing | Gunung Es Terkelola |
DEEP CLONE. Lihat Mengkloning tabel Iceberg asing untuk mengelola Iceberg. |
| Parquet atau Iceberg asing | Delta Lake terkelola atau eksternal | Kloning bertahap. Lihat Pengkloningan bertahap tabel Parquet dan Apache Iceberg ke Delta Lake. |
Untuk membuat tabel Iceberg terkelola dari hasil kueri alih-alih mengkloning tabel yang sudah ada, gunakan CREATE TABLE ... AS SELECT. Lihat CREATE TABLE [MENGGUNAKAN].
SHALLOW CLONE tidak didukung untuk tabel Iceberg. Lihat Batasan.
Requirements
Untuk membuat klon mendalam dari tabel Iceberg terkelola, Anda memerlukan:
- Databricks Runtime 16.4 LTS atau lebih tinggi.
-
SELECTizin akses pada tabel sumber. - Jika mengganti tabel yang ada,
CREATE TABLEhak istimewa pada skema target, atauMODIFYhak istimewa pada tabel target. - Pengoptimalan prediktif diaktifkan pada katalog atau skema target.
Buat klon mendalam tabel Iceberg terkelola
Gunakan CREATE TABLE ... DEEP CLONE untuk menyalin tabel Iceberg terkelola:
CREATE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Untuk mengganti tabel target yang sudah ada:
CREATE OR REPLACE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Untuk membuat target hanya jika belum ada:
CREATE TABLE IF NOT EXISTS <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;
Untuk sintaks penuh CREATE TABLE CLONE , lihat CREATE TABLE CLONE.
Mengarsipkan tabel produksi
Untuk membuat salinan snapshot independen dari tabel produksi untuk keperluan pengarsipan atau kepatuhan:
CREATE TABLE prod_catalog.archive.orders_snapshot_may2026
DEEP CLONE prod_catalog.main.orders;
Menyalin tabel ke lingkungan pengembangan
Untuk mengkloning tabel produksi ke katalog pengembangan untuk eksperimen yang aman tanpa memengaruhi data produksi:
CREATE OR REPLACE TABLE dev_catalog.test.orders
DEEP CLONE prod_catalog.main.orders;
Mengkloning tabel Iceberg asing untuk mengelola Iceberg
Anda dapat menggunakan DEEP CLONE untuk memigrasikan tabel Iceberg asing ke Unity Catalog sebagai tabel Iceberg terkelola. Kloning menyalin semua data dan metadata ke penyimpanan Katalog Unity. File asli yang dikelola oleh katalog eksternal tidak digunakan kembali.
CREATE TABLE <uc-catalog>.<schema>.<target-table>
DEEP CLONE <foreign-catalog>.<schema>.<source-table>;
Setelah kloning selesai, tabel target adalah tabel Iceberg yang dikelola sepenuhnya di Unity Catalog, terlepas dari katalog sumber.
Note
Migrasi zero-copy dari katalog eksternal tidak didukung. Lihat Batasan.
Mengatur properti tabel pada klon mendalam
Anda tidak dapat mengatur properti tabel Iceberg dalam DEEP CLONE pernyataan. Untuk menambahkan atau mengambil alih properti pada tabel kloning, gunakan ALTER TABLE SET TBLPROPERTIES setelah kloning selesai.
Misalnya, untuk mengatur properti kustom untuk merekam sumber kloning yang digunakan sebagai rekam jepret:
CREATE TABLE prod_catalog.archive.orders_snapshot
DEEP CLONE prod_catalog.main.orders;
ALTER TABLE prod_catalog.archive.orders_snapshot
SET TBLPROPERTIES (
'archive.source' = 'prod_catalog.main.orders',
'archive.created_date' = '2026-05-11'
);
Perilaku pengklonan
Pertimbangan penting untuk perilaku kloning mendalam:
- Klon mendalam adalah salinan tabel sumber yang lengkap dan independen. Perubahan pada kloning tidak memengaruhi sumber, dan perubahan pada sumber tidak memengaruhi kloning.
- Klon mendalam memiliki riwayat rekam jepret independen. Perjalanan waktu pada kloning menggunakan sejarah kloning, bukan sejarah sumber.
- Skema, informasi partisi, dan properti tabel disalin ke klon mendalam. Tag Unity Catalog tidak disalin.
- Setelah pembuatan, Unity Catalog mengelola kloning secara independen dengan pengoptimalan prediktif.
Batasan
- Kloning dangkal tidak didukung untuk tabel Iceberg terkelola.
- Unity Catalog tidak mendukung konversi nol salinan tabel Iceberg asing ke tabel Iceberg yang dikelola. Anda harus menggunakan
DEEP CLONE. Semua data disalin ke penyimpanan Katalog Unity selama operasi kloning. - Kloning mendalam tidak menyalin riwayat tabel, sehingga memengaruhi kueri time travel.
- Anda tidak dapat mengubah format tabel selama kloning. Target selalu adalah tabel Iceberg terkelola.
- Anda tidak dapat mengatur properti tabel selama kloning. Gunakan
ALTER TABLE SET TBLPROPERTIESsetelah proses deep clone selesai. Lihat Mengatur properti tabel pada klon dalam.