Delta Lake için tahmine dayalı iyileştirme

Önemli

Bu özellik Genel Önizlemededir.

Tahmine dayalı iyileştirme, Azure Databricks'te Delta tabloları için bakım işlemlerini el ile yönetme gereksinimini ortadan kaldırır.

Tahmine dayalı iyileştirme etkinleştirildiğinde Azure Databricks, bakım işlemlerinden yararlanabilecek tabloları otomatik olarak tanımlar ve bunları kullanıcı için çalıştırır. Bakım işlemleri yalnızca gerektiği gibi çalıştırılır ve hem bakım işlemleri için gereksiz çalıştırmalar hem de performansı izleme ve sorun giderme ile ilgili yük ortadan kaldırılır.

Tahmine dayalı iyileştirme hangi işlemleri çalıştırır?

Tahmine dayalı iyileştirme, etkin Delta tabloları için aşağıdaki işlemleri otomatik olarak çalıştırır:

Operasyon Açıklama
OPTIMIZE Dosya boyutlarını iyileştirerek sorgu performansını artırır. Bkz. Delta Lake'te iyileştirme ile veri dosyalarını sıkıştırma
VACUUM Tablo tarafından artık başvurulacak veri dosyalarını silerek depolama maliyetlerini azaltır. Bkz . Vakum ile kullanılmayan veri dosyalarını kaldırma.

Not

OPTIMIZE tahmine dayalı iyileştirme ile yürütürken çalışmaz ZORDER .

Uyarı

Komutun VACUUM bekletme penceresi, varsayılan olarak 7 gün olan tablo özelliği tarafından delta.deletedFileRetentionDuration belirlenir. Bu, son 7 gün içinde Delta tablosu sürümü tarafından artık başvurulamayacak veri dosyalarının kaldırıldığı anlamına gelir VACUUM . Verileri daha uzun süre saklamak istiyorsanız (örneğin, daha uzun süreler boyunca zaman geçirmeyi desteklemek için), aşağıdaki örnekte olduğu gibi tahmine dayalı iyileştirmeyi etkinleştirmeden önce bu tablo özelliğini uygun şekilde ayarlamanız gerekir:

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

Tahmine dayalı iyileştirme nerede çalışır?

Tahmine dayalı iyileştirme, ve VACUUM işlemlerinden OPTIMIZE yararlanabilecek tabloları tanımlar ve işleri işlem kullanarak çalıştırmak için kuyruğa alır. Hesabınız, Databricks Yönetilen Hizmetleri'ne özgü bir SKU kullanılarak bu iş yükleriyle ilişkili işlem için faturalandırılır. Bkz. Databricks yönetilen hizmetlerinin fiyatlandırması. Azure Databricks tahmine dayalı iyileştirme işlemleri, maliyetler ve etki açısından gözlemlenebilirlik için sistem tabloları sağlar. Bkz. Tahmine dayalı iyileştirmeyi izlemek için sistem tablolarını kullanma.

Not

Tahmine dayalı iyileştirme, sıvı kümelemesi kullanan tablolarda komut çalıştırmaz OPTIMIZE .

Tahmine dayalı iyileştirme önkoşulları

Tahmine dayalı iyileştirmeyi etkinleştirmek için aşağıdaki gereksinimleri karşılamanız gerekir:

  • Azure Databricks çalışma alanınız tahmine dayalı iyileştirmeyi destekleyen bir bölgede Premium planında olmalıdır. Bkz. Azure Databricks bölgeleri.

  • Tahmine dayalı iyileştirmeyi etkinleştirirken SQL ambarlarını veya Databricks Runtime 12.2 LTS veya üzerini kullanmanız gerekir.

  • Yalnızca Unity Kataloğu yönetilen tabloları desteklenir.

  • Depolama hesaplarınız için özel bağlantı gerekiyorsa sunucusuz özel bağlantı yapılandırmanız gerekir. Bkz . Sunucusuz işlemden özel bağlantı yapılandırma.

Tahmine dayalı iyileştirmeyi etkinleştirme

Hesap düzeyinde tahmine dayalı iyileştirmeyi etkinleştirmeniz gerekir.

Tahmine dayalı iyileştirmeyi belirtilen düzeyde etkinleştirmek veya devre dışı bırakmak için aşağıdaki ayrıcalıklara sahip olmanız gerekir:

Unity Kataloğu nesnesi Privilege
Firma Hesap yöneticisi
Katalog Katalog sahibi
Şema Şema sahibi

Not

Tahmine dayalı iyileştirmeyi ilk kez etkinleştirdiğinizde Azure Databricks, Azure Databricks hesabınızda otomatik olarak bir hizmet sorumlusu oluşturur. Azure Databricks, istenen bakım işlemlerini gerçekleştirmek için bu hizmet sorumlusunu kullanır. Bkz. Hizmet sorumlularını yönetme.

Hesabınız için tahmine dayalı iyileştirmeyi etkinleştirme

Hesap yöneticisinin bir hesaptaki tüm meta veri depoları için tahmine dayalı iyileştirmeyi etkinleştirmek için aşağıdaki adımları tamamlaması gerekir:

  1. Hesaplar konsoluna erişin.
  2. Ayarlar ve ardından Özellik etkinleştirme'ye gidin.
  3. Tahmine dayalı iyileştirme'nin yanındaki Etkin'i seçin.

Not

Tahmine dayalı iyileştirmeyi desteklemeyen bölgelerdeki meta veri depoları etkinleştirilmez.

Katalog veya şema için tahmine dayalı iyileştirmeyi etkinleştirme veya devre dışı bırakma

Tahmine dayalı iyileştirme bir devralma modeli kullanır. Bir katalog için etkinleştirildiğinde şemalar özelliği devralır. Etkinleştirilmiş şemadaki tablolar tahmine dayalı iyileştirmeyi devralır. Bu devralma davranışını geçersiz kılmak için, bir katalog veya şema için tahmine dayalı iyileştirmeyi açıkça devre dışı bırakabilirsiniz.

Not

Hesap düzeyinde etkinleştirmeden önce katalog veya şema düzeyinde tahmine dayalı iyileştirmeyi devre dışı bırakabilirsiniz. Tahmine dayalı iyileştirme daha sonra hesapta etkinleştirilirse, bu nesnelerdeki tablolar için engellenir.

Tahmine dayalı iyileştirmeyi etkinleştirmek veya devre dışı bırakmak için aşağıdaki söz dizimini kullanın:

ALTER CATALOG [catalog_name] {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;
ALTER {SCHEMA | DATABASE} schema_name {ENABLE | DISABLE} PREDICTIVE OPTIMIZATION;

Tahmine dayalı iyileştirmenin etkinleştirilip etkinleştirilmediğini denetleyin

Bu Predictive Optimization alan, tahmine dayalı iyileştirmenin etkinleştirilip etkinleştirilmediğini ayrıntılarıyla belirten bir Unity Kataloğu özelliğidir. Tahmine dayalı iyileştirme bir üst nesneden devralındıysa, bu alan değerinde gösterilir.

Tahmine dayalı iyileştirmenin etkinleştirilip etkinleştirilmediğini görmek için aşağıdaki söz dizimini kullanın:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Tahmine dayalı iyileştirmeyi izlemek için sistem tablolarını kullanma

Azure Databricks, tahmine dayalı iyileştirme işlemlerinin geçmişini izlemek için bir sistem tablosu sağlar. Bkz. Tahmine dayalı iyileştirme sistemi tablo başvurusu.

Sınırlamalar

Tahmine dayalı iyileştirme tüm bölgelerde kullanılamaz. Bkz. Azure Databricks bölgeleri.

Tahmine dayalı iyileştirme, sıvı kümelemesi veya Z sırası kullanan tablolarda komut çalıştırmaz OPTIMIZE .

Tahmine dayalı iyileştirme aşağıdaki tablolarda bakım işlemleri gerçekleştirmez:

  • Çalışma alanına Delta Sharing alıcıları olarak yüklenen tablolar.
  • Gerçekleştirilmiş görünümler. Bkz . Databricks SQL'de gerçekleştirilmiş görünümleri kullanma.
  • Akış tabloları. Bkz . Databricks SQL'de akış tablolarını kullanarak veri yükleme.