Aracılığıyla paylaş


Parquet ve Apache Iceberg tablolarını artımlı olarak Delta Lake tablosuna klonlama

Parquet veya Apache 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 için kullanılan işlevselliği birleştirir ve tabloları Delta Lake'e dönüştürür. 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 LTS 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 tablo ve veri dosyalarını ifade ederken, hedef tablo 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 ekleme, güncelleme ve silme alan üretim kaynak tablosu arasında sadece veri alımı senkronizasyonu yapmanız gereklidir.
  • 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. Parquet ve Iceberg tablolarını kopyalamaya ilişkin gereksinimleri ve sınırlamaları 'da bulabilirsiniz.

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 tanımlamak için tablo adını kopyalamadan ve kullanmadan önce Bölümleri olan Parquet tablolarını Unity Kataloğu veya eski Hive meta 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.
  • Güncelleme, silme veya birleştirme işlemlerine maruz kalmış Iceberg "okumada birleştir" tablolarını kopyalayamazsınız.
  • Iceberg tablolarını kısaltılmış sütunlar üzerinde tanımlanan bölümlerle kopyalamaya yönelik sınırlamalar şunlardır:
    • Databricks Runtime 12.2 LTS ve altında desteklenen tek kısaltılmış sütun türü string.
    • Databricks Runtime 13.3 LTS ve üzerinde, string, longveya intkesilmiş sütun türleriyle çalışabilirsiniz.
    • Azure Databricks, decimaltüründe kesilmiş sütunlarla çalışmayı desteklemez.
  • Artımlı kopya, kaynak tablodaki şema değişikliklerini ve özelliklerini 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 LTS'de 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.