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 terkelola yang menggunakan Iceberg dengan DEEP CLONE. Deep clone menyalin baik file data maupun metadata tabel ke tabel terkelola baru menggunakan Iceberg di Unity Catalog.
Tabel terkelola berbasis Iceberg 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 |
|---|---|---|
| Tabel terkelola menggunakan Iceberg | Tabel terkelola menggunakan Iceberg |
DEEP CLONE. |
| Gunung Es Asing | Tabel terkelola menggunakan Iceberg |
DEEP CLONE. Lihat Kloning tabel Iceberg eksternal ke tabel terkelola menggunakan 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 terkelola menggunakan Iceberg 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 melakukan deep clone tabel yang dikelola menggunakan Iceberg, Anda membutuhkan:
- 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.
Mengkloning secara mendalam tabel yang dikelola menggunakan Iceberg
Gunakan CREATE TABLE ... DEEP CLONE untuk menyalin tabel terkelola menggunakan Iceberg:
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;
Klon tabel Iceberg eksternal menjadi tabel terkelola menggunakan Iceberg
Anda dapat menggunakan DEEP CLONE untuk memigrasikan tabel Iceberg eksternal ke Unity Catalog sebagai tabel terkelola menggunakan Iceberg. 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 clone selesai, tabel target adalah tabel yang sepenuhnya dikelola menggunakan Iceberg di Unity Catalog, independen 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 pada tabel terkelola yang menggunakan Iceberg.
- Unity Catalog tidak mendukung konversi zero-copy dari tabel Iceberg asing ke tabel yang dikelola menggunakan Iceberg. 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. Targetnya selalu adalah tabel yang dikelola menggunakan Iceberg.
- Anda tidak dapat mengatur properti tabel selama kloning. Gunakan
ALTER TABLE SET TBLPROPERTIESsetelah proses deep clone selesai. Lihat Mengatur properti tabel pada klon dalam.