Unity Kataloğu yönetilen tabloları için tahmine dayalı iyileştirme

Tahmine dayalı optimizasyon, Azure Databricks'te Unity Catalog tarafından yönetilen tablolarda (Delta Lake ve Iceberg) OPTIMIZE, VACUUM ve ANALYZE işlemlerini otomatik olarak çalıştırarak manuel bakım gereksinimini ve performans sorunlarını izlemeye harcanan zamanı ortadan kaldırır.

Not

Tahmine dayalı iyileştirme, 11 Kasım 2024 tarihinde veya sonrasında oluşturulan hesaplar için varsayılan olarak etkindir. Databricks, aşamalı bir dağıtımla mevcut hesapları etkinleştiriyor. Bu dağıtımın Ağustos 2026'ya kadar tamamlanması bekleniyor. Hesabınızın zaten etkin olup olmadığını denetlemek için bkz. Tahmine dayalı iyileştirmenin etkinleştirilip etkinleştirilmediğini doğrulama.

Tahmine dayalı iyileştirme etkinleştirildiğinde Databricks aşağıdakileri otomatik olarak yapar:

  • Bakım işlemlerinden yararlanabilecek tabloları tanımlar ve bu işlemlerin çalıştırılması için kuyruğa alır.
  • Veriler yönetilen bir tabloya yazıldığında istatistikleri toplar.

Bu, gereksiz bakım çalıştırmalarını ve performansı el ile izleme ve sorun giderme yükünü ortadan kaldırır.

Databricks, Unity Kataloğu tarafından yönetilen tüm tablolar için tahmine dayalı iyileştirme önerir. Örneğin, otomatik sıvı kümeleme, veri kullanım desenlerinize göre veri düzeninin akıllı iyileştirmesini kullanır. Bkz Tablolar için sıvı kümeleme kullanma.

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

Tahmine dayalı iyileştirme Unity Kataloğu yönetilen tablolarında aşağıdaki işlemleri çalıştırır:

Operasyon Açıklama
OPTIMIZE Etkin olan tablolar için artımlı kümelemeyi tetikler. Bkz Tablolar için sıvı kümeleme kullanma. Dosya boyutlarını iyileştirerek sorgu performansını artırır. Bkz. veri dosyası düzenini iyileştirme.
VACUUM Tablo tarafından artık referans verilmeyen veri dosyalarını silerek depolama maliyetlerini azaltır. Bkz. Vakumile kullanılmayan veri dosyalarını kaldırma.
ANALYZE Sorgu performansını geliştirmek için tabloyu tarar ve istatistikleri toplar. Bkz.ANALYZE TABLE ... İŞLEM ISTATISTIKLERI. Tahmine dayalı iyileştirme tarafından toplanan istatistikleri kaldırmak için bkz ANALYZE TABLE . ... İSTATISTIKLERI BıRAKıN.

Not

OPTIMIZE tahmine dayalı iyileştirme tarafından yürütüldüğünde ZORDER çalıştırmaz. Z sırası kullanan tablolarda tahmine dayalı iyileştirme, Z sıralı dosyaları yoksayar.

Otomatik sıvı kümeleme etkinleştirildiyse, tahmine dayalı iyileştirme verileri kümelemeden önce yeni kümeleme anahtarlarını seçebilir. Bkz. Otomatik sıvı kümeleme.

Uyarı

için VACUUM bekletme penceresi, varsayılan olarak 7 gün olan tablo özelliği delta.deletedFileRetentionDuration tarafından belirlenir. VACUUM artık bu pencere içindeki delta tablosu sürümü tarafından başvurulamayacak veri dosyalarını kaldırır. Verileri daha uzun süre saklamak için (örneğin, uzun süreli seyahati desteklemek için), tahmine dayalı iyileştirmeyi etkinleştirmeden önce bu özelliği ayarlayın:

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

İşlem ve faturalama

Tahmine dayalı iyileştirme, işler için sunucusuz işlem kullanarak , ANALYZEve OPTIMIZE işlemlerini çalıştırırVACUUM. Hesabınız sunucusuz işlemler SKU'su kullanılarak bu işlem için faturalandırılır.

Databricks yönetilen hizmetleri için fiyatları görün. Bkz. Sistem tablolarıyla tahmine dayalı iyileştirmeyi izleme.

Önkoşullar

Tahmine dayalı iyileştirmeyi kullanmak için aşağıdaki gereksinimlerin karşılanması gerekir:

  • Azure Databricks çalışma alanınız desteklenen bir bölgede Premium planında olmalıdır.
  • SQL ambarlarını veya Databricks Runtime 12.2 LTS veya üzerini kullanmanız gerekir.
  • Yalnızca Unity Kataloğu yönetilen tabloları desteklenir.

Tahmine dayalı iyileştirmeyi etkinleştirme

Hesap, katalog, şema veya tablo için tahmine dayalı iyileştirmeyi etkinleştirebilirsiniz. Varsayılan olarak, tüm Unity Catalog yönetilen tablolar hesap değerini devralır. Hesap varsayılanını katalog, şema veya tablo düzeyinde geçersiz kılabilirsiniz.

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

Unity Kataloğu nesnesi Ayrıcalık
Firma Hesap yöneticisi
Katalog Katalog sahibi veya katalogda ayrıcalığı olan MANAGE bir kullanıcı
Şema Şema sahibi veya şemada ayrıcalığı olan MANAGE bir kullanıcı
Tablo Tablo sahibi veya tabloda MANAGE ayrıcalığına sahip bir kullanıcı

Hesabınız için tahmine dayalı iyileştirmeyi etkinleştirme veya devre dışı bırakma

Hesap yöneticisi bir hesaptaki tüm meta veri depoları için tahmine dayalı iyileştirmeyi etkinleştirebilir. Kataloglar ve şemalar bu ayarı varsayılan olarak devralır, ancak her iki düzeyde de geçersiz kılabilirsiniz.

  1. Hesaplar konsoluna gidin.
  2. Ayarlar'a ve ardından Özellik etkinleştirme'ye gidin.
  3. Tahmine dayalı iyileştirme'nin yanındaki istediğiniz seçeneği (örneğin, Etkin) seçin.

Not

  • Tahmine dayalı iyileştirmeyi desteklemeyen bölgelerdeki meta veri depoları etkinleştirilmez.
  • Hesap düzeyinde tahmine dayalı iyileştirmeyi devre dışı bırakmak, bunu özellikle etkinleştirmiş olan kataloglar veya şemalar için devre dışı bırakmaz.

Katalog, şema veya tablo 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, bu katalogdaki şemalar ayarı devralır ve etkin bir şema içindeki tablolar da bu ayarı devralır. Bu davranışı geçersiz kılmak için katalog, şema veya tablo için tahmine dayalı iyileştirmeyi açıkça etkinleştirebilir veya devre dışı bırakabilirsiniz.

Not

Hesap düzeyinde etkinleştirmeden önce katalog, şema veya tablo düzeyinde tahmine dayalı iyileştirmeyi devre dışı bırakabilirsiniz. Tahmine dayalı iyileştirme daha sonra hesap düzeyinde etkinleştirilirse, özellikle devre dışı bırakılmış nesneler için engellenmiş olarak kalır.

Tahmine dayalı iyileştirmeyi üst nesneden devralacak şekilde etkinleştirmek, devre dışı bırakmak veya sıfırlamak için aşağıdaki söz dizimini kullanın:

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

Bkz. ALTER TABLE.

Tahmine dayalı iyileştirmenin etkinleştirilip etkinleştirilmediğini doğrulama

alanı Predictive Optimization , tahmine dayalı iyileştirmenin etkinleştirilip etkinleştirilmediğini gösteren bir Unity Kataloğu özelliğidir. Ayar bir üst nesneden devralındıysa, alan değeri bunu gösterir.

Durumu denetlemek için aşağıdaki söz dizimini kullanın:

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

Tahmine dayalı iyileştirmenin tabloyu atlama nedenini denetleme

Databricks Runtime 18 ve üzerinde, tahmine dayalı iyileştirme yönetilen tabloyu değerlendirdikten sonra, işlemin neden atlandığını görmek için Katalog Gezgini'ndeki Geçmiş sekmesini kullanın. Sonuçların görüntülenmesi 24 saate kadar sürebilir.

Katalog Gezgini'nde geçmiş sekmesini kullanma

Katalog Gezgini'nde bir tablonun Geçmiş sekmesinde atlama nedenlerini görüntüleyebilirsiniz. İşlem sütununda, Otomatik etiketi işlemin çalıştırıldığını, Uygulanmadı etiketi ise işlemin atlandığını gösterir. Otomatik etiketi, öngörücü iyileştirmeyi ve akış otomatik sıkıştırması gibi diğer otomatik işlemleri içerir.

Atlama nedenini görüntülemek için İşlem sütununda Uygulanmadı etiketine sahip bir satıra tıklayın.

Tahmine dayalı iyileştirme atlama nedenlerini gösteren Katalog Gezgini geçmiş sekmesi

Aşağıdaki tabloda Katalog Gezgini'nde gösterilen otomatik işlem türleri açıklanmaktadır:

Katalog Gezgini işlemi Açıklama
OPTIMIZE Sorgu performansını geliştirmek için dosya sıkıştırma veya artımlı sıvı kümelemesi
AUTO LIQUID Sıvı kümeleme anahtarlarının değerlendirilmesi veya evrimi
VACUUM Tablo tarafından artık referans verilmeyen veri dosyalarının kaldırılması

Sistem tablolarıyla tahmine dayalı iyileştirmeyi izleme

Databricks, tahmine dayalı optimizasyon işlemlerine, maliyetlere ve etkiye dair görünürlük sağlamak için sistem tablosunu system.storage.predictive_optimization_operations_history sunar. Bkz. Tahmine dayalı iyileştirme sistemi tablo referansı.

Sistem tablosunda işlemler FAILED: PRIVATE_LINK_SETUP_ERROR ile başarısız olarak işaretlenirse, sunucusuz özel bağlantı doğru yapılandırılmamış olabilir. Bkz . Azure kaynaklarına özel bağlantı yapılandırma.

Sınırlamalar

Tahmine dayalı iyileştirme aşağıdaki tablo türlerinde çalışmaz:

  • Çalışma alanına OpenSharing alıcıları olarak yüklenen tablolar
  • Dış tablolar