Yönetilen Iceberg tablosunu klonlayın

DEEP CLONE kullanarak yönetilen bir Iceberg tablosunun tam, bağımsız bir kopyasını oluşturabilirsiniz. Derin kopya, hem veri dosyalarını hem de tablo meta verilerini Unity Kataloğu'ndaki yeni bir yönetilen Iceberg tablosuna kopyalar.

Yönetilen Iceberg tabloları yalnızca derin kopyalamayı destekler. Kopyalama sırasında sığ kopyalama ve biçim dönüştürme desteklenmez.

Iceberg tabloları için klon yöntemleri

Kullandığınız kopyalama işlemi kaynağınıza ve hedef tablo türlerinize bağlıdır:

Source Target Operation
Yönetilen Buzdağı Yönetilen Buzdağı DEEP CLONE.
Yabancı Buzdağı Yönetilen Buzdağı DEEP CLONE. Bkz. Harici bir Iceberg tablosunu yönetilen Iceberg'e klonlama.
Parquet veya yabancı Buzdağı Yönetilen veya harici Delta Lake Artımlı klon. Bkz. Parquet ve Apache Iceberg tablolarını Delta Lake'e artımlı olarak kopyalama.

Var olan bir tabloyu klonlama yerine sorgu sonuçlarından yönetilen bir Iceberg tablosu oluşturmak için kullanın CREATE TABLE ... AS SELECT. Bkz. CREATE TABLE [KULLANARAK].

SHALLOW CLONE Iceberg tablolarında desteklenmez. Bkz. Sınırlamalar.

Requirements

Yönetilen bir Iceberg tablosunu derinden kopyalamak için şunları yapmanız gerekir:

  • Databricks Runtime 16.4 LTS veya üzeri.
  • SELECT kaynak tablodaki ayrıcalıklar.
  • Mevcut bir tabloyu değiştiriyorsanız, CREATE TABLE hedef şemadaki ayrıcalıklar veya MODIFY hedef tablodaki ayrıcalıklar.
  • Hedef katalogda veya şemada tahmine dayalı iyileştirme etkinleştirildi.

Yönetilen bir Iceberg tablosunu derinlemesine klonlama

Yönetilen Iceberg tablosunu kopyalamak için kullanın CREATE TABLE ... DEEP CLONE :

CREATE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;

Var olan bir hedef tabloyu değiştirmek için:

CREATE OR REPLACE TABLE <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;

Hedefi yalnızca zaten mevcut değilse oluşturmak için:

CREATE TABLE IF NOT EXISTS <catalog>.<schema>.<target-table>
DEEP CLONE <catalog>.<schema>.<source-table>;

Tam CREATE TABLE CLONE söz dizimi için bkz CREATE TABLE CLONE. .

Üretim tablosunu arşivle

Arşivleme veya uyumluluk amacıyla üretim tablosunun bağımsız anlık görüntüsünü oluşturmak için:

CREATE TABLE prod_catalog.archive.orders_snapshot_may2026
DEEP CLONE prod_catalog.main.orders;

Tabloyu geliştirme ortamına kopyalama

Üretim verilerini etkilemeden güvenli deneme için bir üretim tablosunu geliştirme kataloğuna kopyalamak için:

CREATE OR REPLACE TABLE dev_catalog.test.orders
DEEP CLONE prod_catalog.main.orders;

Yabancı bir Iceberg tablosunu yönetilen Iceberg'e kopyalama

DEEP CLONE kullanarak yabancı bir Iceberg tablosunu Unity Catalog'a yönetilen bir Iceberg tablosu olarak taşıyabilirsiniz. Kopya, tüm verileri ve meta verileri Unity Catalog depolama alanına kopyalar. Dış katalog tarafından yönetilen özgün dosyalar yeniden kullanılmaz.

CREATE TABLE <uc-catalog>.<schema>.<target-table>
DEEP CLONE <foreign-catalog>.<schema>.<source-table>;

Kopyalama tamamlandıktan sonra hedef tablo, kaynak katalogdan bağımsız olarak Unity Kataloğu'nda tam olarak yönetilen bir Iceberg tablosudur.

Note

Yabancı katalogdan sıfır kopya geçişi desteklenmez. Bkz. Sınırlamalar.

Derin kopyada tablo özelliklerini ayarlama

DEEP CLONE ifadesinde Iceberg tablo özelliklerini ayarlayamazsınız. Kopyalanan tabloya özellik eklemek veya geçersiz kılmak için kopyalama tamamlandıktan sonra kullanın ALTER TABLE SET TBLPROPERTIES .

Örneğin, anlık görüntü olarak kullanılan bir kopyanın kaynağını kaydetmek için özel özellikler ayarlamak için:

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'
);

Klon davranışı

Derin kopyalama davranışı için önemli noktalar:

  • Derin kopya, kaynak tablonun eksiksiz, bağımsız bir kopyasıdır. Kopyadaki değişiklikler kaynağı etkilemez ve kaynakta yapılan değişiklikler kopyayı etkilemez.
  • Derin kopyanın bağımsız bir anlık görüntü geçmişi vardır. Kopyadaki zaman yolculuğu, kaynağın geçmişini değil kopyanın geçmişini kullanır.
  • Şema, bölümlendirme bilgileri ve tablo özellikleri derin kopyaya kopyalanır. Unity Kataloğu etiketleri kopyalanmaz.
  • Oluşturma işleminden sonra Unity Kataloğu, kopyayı tahmine dayalı iyileştirme ile bağımsız olarak yönetir.

Sınırlama

  • Yönetilen Iceberg tablolarında sığ kopyalama desteklenmez.
  • Unity Kataloğu, yabancı Iceberg tablolarının yönetilen Iceberg tablolarına sıfır kopya dönüştürmesini desteklemez. DEEP CLONE kullanmanız gerekir. Kopyalama işlemi sırasında tüm veriler Unity Kataloğu depolama alanına kopyalanır.
  • Derin kopyalar tablo geçmişini kopyalamaz ve bu da zaman yolculuğu sorgularını etkiler.
  • Kopyalama sırasında tablo biçimini değiştiremezsiniz. Hedef her zaman yönetilen bir Iceberg tablosudur.
  • Kopyalama sırasında tablo özelliklerini ayarlayamazsınız. ALTER TABLE SET TBLPROPERTIES öğesini derin kopyalama tamamlandıktan sonra kullanın. Bkz. Derin kopya üzerinde tablo özelliklerini ayarlama.