Parquet ve Iceberg tablolarını artımlı olarak Delta Lake'e kopyalama
Parquet veya Iceberg veri kaynaklarından yönetilen veya dış Delta tablolarına artımlı olarak veri dönüştürmek için Azure Databricks kopyalama işlevini kullanabilirsiniz.
Parquet ve Iceberg için Azure Databricks kopyası, Delta tablolarını kopyalamak ve tabloları Delta Lake'e dönüştürmek için kullanılan işlevleri birleştirir. Bu makalede, bu özellik için kullanım örnekleri ve sınırlamalar açıklanır ve örnekler sağlanır.
Önemli
Bu özellik Genel Önizlemededir.
Not
Bu özellik Databricks Runtime 11.3 veya üzerini gerektirir.
Parquet veya Iceberg verilerinin artımlı alımı için klon ne zaman kullanılır?
Azure Databricks, lakehouse'a veri almak için çeşitli seçenekler sunar. Databricks, aşağıdaki durumlarda Parquet veya Iceberg verilerini almak için klon kullanılmasını önerir:
Not
Kaynak tablo terimi kopyalanacak tabloya ve veri dosyalarına, hedef tablo ise işlem tarafından oluşturulan veya güncelleştirilen Delta tablosuna başvurur.
- Parquet veya Iceberg'den Delta Lake'e geçiş gerçekleştiriyor ancak kaynak tabloları kullanmaya devam etmeniz gerekiyor.
- Hedef tablo ile eklemeleri, güncelleştirmeleri ve silmeleri alan üretim kaynak tablosu arasında yalnızca alma eşitlemesi yapmanız gerekir.
- Raporlama, makine öğrenmesi veya toplu ETL için kaynak verilerin ACID uyumlu bir anlık görüntüsünü oluşturmak istiyorsunuz.
Klonlama söz dizimi nedir?
Parquet ve Iceberg için Clone, Delta tablolarını kopyalamak için kullanılan temel söz diziminin aynısını kullanır ve sığ ve derin klonlar için destek sağlar. Daha fazla bilgi için bkz . Kopyalama türleri.
Databricks çoğu iş yükü için kopyanın artımlı olarak kullanılmasını önerir. Parquet ve Iceberg için kopya desteği SQL söz dizimlerini kullanır.
Not
Parquet ve Iceberg için Clone, klonlama veya Delta'ya dönüştürmeden farklı gereksinimlere ve garantilere sahiptir. Bkz . Parquet ve Iceberg tablolarını kopyalama gereksinimleri ve sınırlamaları.
Dosya yolu kullanarak bir Parquet veya Iceberg tablosunu derinden kopyalamak için aşağıdaki söz dizimini kullanın:
CREATE OR REPLACE TABLE <target-table-name> CLONE parquet.`/path/to/data`;
CREATE OR REPLACE TABLE <target-table-name> CLONE iceberg.`/path/to/data`;
Dosya yolu kullanarak bir Parquet veya Iceberg tablosunu basit bir şekilde kopyalamak için aşağıdaki söz dizimini kullanın:
CREATE OR REPLACE TABLE <target-table-name> SHALLOW CLONE parquet.`/path/to/data`;
CREATE OR REPLACE TABLE <target-table-name> SHALLOW CLONE iceberg.`/path/to/data`;
Aşağıdaki örneklerde gösterildiği gibi meta veri deposuna kayıtlı Parquet tabloları için derin veya sığ klonlar da oluşturabilirsiniz:
CREATE OR REPLACE TABLE <target-table-name> CLONE <source-table-name>;
CREATE OR REPLACE TABLE <target-table-name> SHALLOW CLONE <source-table-name>;
Parquet ve Iceberg tablolarını kopyalama gereksinimleri ve sınırlamaları
İster derin ister sığ klonlar kullanılsın, kopyalama gerçekleştikten sonra hedef tabloya uygulanan değişiklikler kaynak tabloya geri eşitlenemez. Kopya ile artımlı eşitleme tek yönlüdür ve kaynak tablolardaki değişikliklerin hedef Delta tablolarına otomatik olarak uygulanmasına olanak tanır.
Parquet ve Iceberg tablolarıyla kopya kullanılırken aşağıdaki ek sınırlamalar geçerlidir:
- Kaynak tabloyu kimliklendirmek için tablo adını kullanmadan ve kopyalamadan önce Bölümleri olan Parquet tablolarını Hive meta veri deposu gibi bir kataloğa kaydetmeniz gerekir. Bölümler içeren Parquet tabloları için yol tabanlı kopya söz dizimi kullanamazsınız.
- Bölüm evrimi yaşamış Iceberg tablolarını kopyalayamazsınız.
- Iceberg'i güncelleştirmeler, silmeler veya birleştirmelerle karşılaşmış olan okumada birleştirme tablolarını kopyalayamazsınız.
- Iceberg tablolarını kesilmiş sütunlarda tanımlanan bölümlerle kopyalamaya yönelik sınırlamalar şunlardır:
- Databricks Runtime 12.2 LTS ve altında desteklenen tek kesilen sütun türüdür
string
. - Databricks Runtime 13.3 LTS ve üzerinde, ,
long
veyaint
türündestring
kesilmiş sütunlarla çalışabilirsiniz. - Azure Databricks, türünde
decimal
kesilmiş sütunlarla çalışmayı desteklemez.
- Databricks Runtime 12.2 LTS ve altında desteklenen tek kesilen sütun türüdür
- Artımlı kopya, şema değişikliklerini ve özelliklerini kaynak tablodan eşitler. Kopyalanan tabloya doğrudan yazılan tüm şema değişiklikleri ve veri dosyaları geçersiz kılınır.
- Unity Kataloğu, Parquet veya Iceberg tabloları için sığ kopyaları desteklemez.
- Yol tanımlarken glob desenlerini kullanamazsınız.
Not
Databricks Runtime 11.3'te bu işlem dosya düzeyi istatistikleri toplamaz. Bu nedenle, hedef tablolar Delta Lake verilerinin atlanmasından yararlanmaz. Dosya düzeyinde istatistikler Databricks Runtime 12.2 LTS ve üzerinde toplanır.