Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Apache Iceberg v3, sorgu performansını artırır ve Unity Catalog'da Iceberg okumalarıyla Delta Lake veya yönetilen tablolar için yeni yetenekler sunar.
Iceberg v3'ün temel özellikleri şunlardır:
- Silme vektörleri: Veri dosyalarının tamamını yeniden yazmadan verimli, satır düzeyinde silmeleri etkinleştirin. Bkz . Databricks'te silme vektörleri.
- VARIANT veri türü: Yarı yapılandırılmış verilerin depolanmasını ve işlenmesini destekler. Bkz. Apache Iceberg ve Delta Lake için varyant türü desteği.
- Satır kökeni: Tablo verisinde artımlı değişiklikleri izler. Bkz. Azure Databricks’te satır izleme.
Gereksinimler
Iceberg v3 özelliklerine sahip yönetilen tabloları kullanmak için, örneğin coğrafi tipler gibi, aşağıdaki gereksinimleri karşılamanız gerekir:
- Unity Kataloğu'nu etkinleştirmiş bir çalışma alanı.
- Databricks Runtime 18 LTS ve üzeri.
Iceberg v3 ile yeni tablo oluşturma
Iceberg v3 etkinleştirilmiş yeni tablolar oluşturun; hem yönetilen Delta Lake tabloları için hem Iceberg okumaları hem de yönetilen Iceberg tabloları için.
Delta Gölü
Delta Lake kullanarak Iceberg okumaları ve Iceberg v3 etkin olduğu yeni yönetilen bir tablo oluşturmak için aşağıdaki SQL komutunu kullanın:
CREATE OR REPLACE TABLE main.schema.table (c1 INT) TBLPROPERTIES(
'delta.universalFormat.enabledFormats' = 'iceberg',
'delta.enableIcebergCompatV3' = 'true'
);
Iceberg okumaları hakkında daha fazla bilgi için, Iceberg müşterileriyle Delta Gölü tablolarını okuma bölümüne bakınız.
Iceberg
Iceberg v3 kullanarak yeni bir yönetilen tablo oluşturmak için aşağıdaki SQL komutunu kullanın:
CREATE OR REPLACE TABLE main.schema.table (c1 INT)
USING iceberg
TBLPROPERTIES ('format-version' = 3);
Iceberg tabloları hakkında daha fazla bilgi için bkz. Azure Databricks Apache Iceberg nedir?.
Mevcut tabloyu Iceberg v3'e yükseltme
Mevcut bir tabloyu Iceberg v3'e şu şekilde yükseltebilirsiniz:
- Tablodaki herhangi bir v3 özelliğini etkinleştirme.
- Bir tablodaki Iceberg biçim sürümünü 3 olarak ayarlama (aşağıda gösterilmiştir).
Important
kullanılarak RESTOREv3'e yükseltmeden önce tablo bir tablo sürümüne geri yüklenerek tablolar v3'ten v2'ye düşürülebilir. Bkz . Tabloyu önceki bir sürüme düşürme.
Delta Gölü
Delta Lake kullanılarak yönetilen bir tabloyu Iceberg okumalarıyla v3'e yükseltmek için aşağıdaki komutu kullanın:
ALTER TABLE catalog.schema.table SET TBLPROPERTIES(
'delta.enableIcebergCompatV3' = 'true',
'delta.enableIcebergCompatV2' = 'false'
);
Iceberg
Iceberg kullanarak yönetilen bir tabloyu v3'e yükseltmek için aşağıdaki komutu kullanın:
ALTER TABLE catalog.schema.table SET TBLPROPERTIES (
'format-version' = 3
);
Silme vektörlerini etkinleştirme
Silme vektörleri satır düzeyi veri değiştirme işlemlerini iyileştirir ve tüm yeni Iceberg v3 tablolarında varsayılan olarak etkinleştirilir. Bkz . Databricks'te silme vektörleri.
Uyarı
Mevcut bir Iceberg tablosunda silme vektörlerinin etkinleştirilmesi, Iceberg biçimi sürümünü 3'e yükseltiyor.
Delta Gölü
Delta Lake kullanılarak Iceberg okumaları, Iceberg v3 ve silme vektörleri etkin olarak yeni yönetilen bir tablo oluşturmak için aşağıdaki tablo özelliklerini ayarlayın:
CREATE TABLE catalog.schema.table (c1 INT) TBLPROPERTIES(
'delta.enableDeletionVectors' = 'true',
'delta.enableIcebergCompatV3' = 'true',
'delta.universalFormat.enabledFormats' = 'iceberg'
);
Iceberg
Silme vektörleri etkinleştirilmiş Iceberg v3 kullanarak yeni bir yönetilen tablo oluşturmak için tablo özelliğini ayarlayın iceberg.enableDeletionVectors :
CREATE TABLE catalog.schema.table (c1 INT)
USING ICEBERG TBLPROPERTIES (
'iceberg.enableDeletionVectors' = 'true'
);
VARIANT veri türünü kullanma
VARIANT veri türü, yarı yapılandırılmış verileri depolamanıza ve sorgulamanıza olanak tanır.
Uyarı
Var olan bir Iceberg tablosunda VARIANT kullanıldığında Iceberg biçim sürümü 3'e yükseltilir.
Delta Gölü
Delta Lake ile yeni yönetilen bir tablo oluşturmak için Iceberg okumaları ve bir VARIANT sütunu:
CREATE TABLE catalog.schema.deltaTable (col VARIANT) TBLPROPERTIES(
'delta.enableIcebergCompatV3' = 'true',
'delta.universalFormat.enabledFormats' = 'iceberg'
);
Iceberg
VARIANT sütununa sahip Iceberg v3 kullanarak yeni bir yönetilen tablo oluşturmak için:
CREATE TABLE catalog.schema.icebergTable (col VARIANT) USING iceberg;
Var olan bir tabloya VARIANT sütunu eklemek için komutunu ALTER TABLE kullanın:
ALTER TABLE catalog.schema.table ADD COLUMN variant_col VARIANT;
Tabloyu önceki bir Apache Iceberg sürümüne düşürme
Tabloyu Iceberg v3'e yükseltilmeden önce bir duruma döndürmeniz gerekiyorsa komutunu kullanabilirsiniz RESTORE .
set spark.databricks.delta.restore.protocolDowngradeAllowed = true;
RESTORE TABLE catalog.schema.table TO VERSION AS OF 1;
set spark.databricks.delta.restore.protocolDowngradeAllowed = false;
Sınırlamalar
Azure Databricks, aşağıdaki özel durumlar dışında Iceberg belirtiminin 3. sürümünü destekler:
- Yazma varsayılanları ve ilk varsayılanlar dahil olmak üzere varsayılanlar desteklenmez.
- Aşağıdaki veri türleri desteklenmez:
- Bilinmeyen tür
- Nanosaniye hassasiyet zaman damgası.
- Birden fazla bağımsız değişkenli dönüşümler desteklenmez.