Tahmine dayalı optimizasyon sistem tablo referansı

Önemli

Bu sistem tablosu Genel Önizlemeiçindedir.

Not

Bu tabloya erişebilmek için bölgenizin tahmine dayalı iyileştirmeyi desteklemesi gerekir. Bkz. Azure Databricks bölgeleri.

Bu makalede tahmine dayalı iyileştirme işlemi geçmişi tablo şeması özetlenmiştir ve örnek sorgular sağlanır. Tahmine dayalı iyileştirme, en yüksek performans ve maliyet verimliliği için veri düzeninizi iyileştirir. Sistem tablosu bu özelliğin işlem geçmişini izler. Tahmine dayalı iyileştirme hakkında bilgi için Unity Catalog yönetilen tabloları için tahmine dayalı iyileştirme 'ye bakın.

Tablo yolu: Bu sistem tablosu system.storage.predictive_optimization_operations_historykonumunda bulunur.

Teslimatla ilgili dikkat edilmesi gerekenler

  • Tahmine dayalı iyileştirme sistemi tablosu iki saat içinde güncelleştirilir. Ancak faturalama bilgilerinin doldurulabilmesi 24 saat kadar sürebilir.
  • Tahmine dayalı iyileştirme aynı kümede birden çok işlem çalıştırabilir. Bu durumda, birden çok işlemin her birine atfedilen DBU'ların payı yaklaşık olarak ayarlanır. bu nedenle usage_unitESTIMATED_DBUolarak ayarlanır. Yine de kümede harcanan toplam DSU sayısı doğru olacaktır.

Tahmine dayalı iyileştirme tablosu şeması

Tahmine dayalı iyileştirme işlemi geçmişi sistem tablosu aşağıdaki şemayı kullanır:

Sütun adı Veri türü Açıklama Örnek
account_id Dize Hesabın kimliği. 11e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id Dize Tahmine dayalı iyileştirmenin işlemi çalıştırdığı çalışma alanının kimliği. 1234567890123456
start_time Tarih damgası İşlemin başlatıldığı saat. Saat dilimi bilgileri, değerin sonunda kaydedilir ve +00:00 UTC'yi temsil eder. 2023-01-09 10:00:00.000+00:00
end_time Tarih damgası İşlemin sona erdiği saat. Saat dilimi bilgileri, değerin sonunda kaydedilir ve +00:00 UTC'yi temsil eder. 2023-01-09 11:00:00.000+00:00
metastore_name Dize İyileştirilmiş tablonun ait olduğu meta veri deposunun adı. metastore
metastore_id Dize İyileştirilmiş tablonun ait olduğu meta veri deposunun kimliği. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
catalog_name Dize İyileştirilmiş tablonun ait olduğu kataloğun adı. catalog
schema_name Dize İyileştirilmiş tablonun ait olduğu şemanın adı. schema
table_id Dize Optimizasyon yapılmış tablonun kimliği. 138ebb4b-3757-41bb-9e18-52b38d3d2836
table_name Dize İyileştirilmiş tablonun adı. table1
operation_type Dize Gerçekleştirilen iyileştirme işlemi. Aşağıdaki değerlerden biri olmalıdır: COMPACTION, VACUUM, ANALYZE, CLUSTERING, COMPATIBILITY_MODE_REFRESHDELETEAUTO_CLUSTERING_COLUMN_SELECTIONDATA_SKIPPING_COLUMN_SELECTIONveya .PURGE COMPACTION
operation_id Dize Optimizasyon işleminin kimliği. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status Dize İyileştirme işleminin durumu. Şu değerlerden biri olmalıdır: SUCCESSFUL, FAILED: INTERNAL_ERROR, FAILED: AUTO_TTL_COLUMN_DOES_NOT_EXIST_ERRORveya FAILED: PRIVATE_LINK_SETUP_ERROR. SUCCESSFUL
operation_metrics harita[dize, ip] Yapılan özel optimizasyonla ilgili ek detaylar. Bkz . İşlem ölçümleri. {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"}
usage_unit Dize Oluşan kullanım birimi. Şu değer olmalıdır: ESTIMATED_DBU. ESTIMATED_DBU
usage_quantity ondalık Kullanılan kullanım biriminin miktarı. 2.12

İşlem ölçümleri

operation_metrics sütununa kaydedilen ölçümler, işlem türüne bağlı olarak değişir:

İşlem adı İşlem açıklaması İşlem ölçümleri Açıklama
COMPACTION Dosya boyutlarını iyileştirerek sorgu performansını artırır. Bkz. veri dosyası düzenini iyileştirme. number_of_compacted_files Kaldırılan dosya sayısı.
amount_of_data_compacted_bytes Kaldırılan bayt sayısı.
number_of_output_files Yeni dosyaların sayısı.
amount_of_output_data_bytes Eklenen bayt sayısı.
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. number_of_deleted_files Çöp toplayan dosya sayısı.
amount_of_data_deleted_bytes Toplanan çöp bayt sayısı.
ANALYZE Sorgu performansını geliştirmek için istatistiklerin artımlı güncelleştirmesini tetikler. Bkz.ANALYZE TABLE ... İŞLEM ISTATISTIKLERI. amount_of_scanned_bytes Taranan bayt sayısı.
number_of_scanned_files Taranan dosya sayısı.
staleness_percentage_reduced Durantlık yüzdesinin azalması. Bu istatistik, çalıştırılan frekansa ANALYZE göre 0 ile 100 arasında değişebilir.
CLUSTERING Etkin olan tablolar için artımlı kümelemeyi tetikler. Bkz Tablolar için sıvı kümeleme kullanma. number_of_removed_files Kaldırılan dosya sayısı.
number_of_clustered_files Yeni dosyaların sayısı.
amount_of_data_removed_bytes Kaldırılan bayt sayısı.
amount_of_clustered_data_bytes Eklenen bayt sayısı.
AUTO_CLUSTERING_COLUMN_SELECTION Kümeleme sütunlarının geliştirilip geliştirilmeyeceğini değerlendirir. Bkz. Otomatik sıvı kümeleme. old_clustering_columns Önceki veri düzeni, eski küme anahtarları veya bölümlenmemişse "Hiç" olabilir.
new_clustering_columns Yeni kümeleme sütunları.
has_column_selection_changed Kümeleme sütunlarının değişip değişmediğinin göstergesi.
additional_reason Kümeleme sütunlarındaki değişiklik veya değişiklik olmaması nedenleri.
DATA_SKIPPING_COLUMN_SELECTION Eksik veri içeren sütunları algılar, iş yükündeki istatistikleri atlayarak ve eksik verileri tamamlayarak doldurur. Bkz. Veri atlama. amount_of_scanned_bytes Taranan bayt sayısı.
number_of_scanned_files Taranan dosya sayısı.
added_data_skipping_columns Veri atlama sütunları eklendi.
removed_data_skipping_columns Veri atlama sütunları kaldırıldı.
old_data_skipping_columns Önceki kapsamlı veri atlama sütunları listesi.
new_data_skipping_columns Mevcut kapsamlı veri atlama sütunları listesi.
COMPATIBILITY_MODE_REFRESH Uyumluluk Modu'nun güncel olup olmadığını algılar ve tabloyu yeniler. Bkz. Uyumluluk Modu. N/A Uyumluluk Modu yenileme işlemleri.
DELETE Otomatik kullanım sonunu geçmiş satırlar kaldırılır. Bkz. otomatik geçerlilik süresiyle otomatik satır silme. number_of_deleted_rows Kaldırılan satır sayısı. Bu 0 dönemde hiçbir satır silinmeye uygun değildi.
amount_of_data_deleted_bytes Kaldırılan bayt sayısı.
PURGE Veri dosyalarını yeniden yazarak silme vektörleriyle zaten silinmiş satır fiziksel olarak kaldırılır. Silme vektörleri etkin olan tablolarda daha önce VACUUM çalışır. Bkz. otomatik geçerlilik süresiyle otomatik satır silme. number_of_purged_rows Giderilen sıra sayısı. Bu 0 dönemde hiçbir sıranın temizlik hakkı yoktu. Bkz. otomatik geçerlilik süresiyle otomatik satır silme.

Örnek sorgular

Aşağıdaki bölümler, tahmine dayalı iyileştirme sistemi tablosu hakkında içgörü elde etmek için kullanabileceğiniz örnek sorguları içerir. Bu sorguların çalışması için parametre değerlerini kendi değerlerinizle değiştirmeniz gerekir.

Bu makale aşağıdaki örnek sorguları içerir:

Son 30 gün içinde tahmine dayalı iyileştirmede kullanılan tahmini DBU sayısı kaçtır?

SELECT SUM(usage_quantity)
  FROM system.storage.predictive_optimization_operations_history
  WHERE
    usage_unit = "ESTIMATED_DBU"
    AND timestampdiff(day, start_time, Now()) < 30;

Belirli bir ETL işlem hattı için aynı değeri bulmak için önce bu işlem hattında tabloları bulabilir ve ardından DBU'ları arayabilirsiniz:

-- Find all full table names for the pipeline:
WITH pipeline_mapping AS (
  SELECT DISTINCT target_table_full_name AS target_table_name
  FROM system.access.table_lineage
  WHERE entity_type = 'PIPELINE' AND entity_id = :pipeline_id
)
-- Select all operations for any table in that pipeline:
SELECT SUM(usage_quantity)
  FROM system.storage.predictive_optimization_operations_history
  WHERE
    CONCAT_WS('.', catalog_name, schema_name, table_name)
      IN ( SELECT target_table_name FROM pipeline_mapping)
    AND usage_unit = "ESTIMATED_DBU"
    AND timestampdiff(day, start_time, Now()) < 30;

Tahmine dayalı iyileştirme son 30 gün içinde en çok hangi tablolarda (tahmini maliyet) harcandı?

SELECT
  metastore_name,
  catalog_name,
  schema_name,
  table_name,
  SUM(usage_quantity) as totalDbus
FROM system.storage.predictive_optimization_operations_history
WHERE
  usage_unit = "ESTIMATED_DBU"
  AND timestampdiff(day, start_time, Now()) < 30
GROUP BY ALL
ORDER BY totalDbus DESC;

En çok işlem gerçekleştiren tahmine dayalı iyileştirme hangi tablolardadır?

SELECT
  metastore_name,
  catalog_name,
  schema_name,
  table_name,
  operation_type,
  COUNT(DISTINCT operation_id) as operations
FROM system.storage.predictive_optimization_operations_history
GROUP BY ALL
ORDER BY operations DESC;

Belirli bir katalog için toplam bayt sayısı sıkıştırıldı mı?

SELECT
  schema_name,
  table_name,
  SUM(operation_metrics["amount_of_data_compacted_bytes"]) as bytesCompacted
FROM system.storage.predictive_optimization_operations_history
WHERE
  metastore_name = :metastore_name
  AND catalog_name = :catalog_name
  AND operation_type = "COMPACTION"
GROUP BY ALL
ORDER BY bytesCompacted DESC;

Hangi tablolarda en çok bayt vakumlanmış?

SELECT
  metastore_name,
  catalog_name,
  schema_name,
  table_name,
  SUM(operation_metrics["amount_of_data_deleted_bytes"]) as bytesVacuumed
FROM system.storage.predictive_optimization_operations_history
WHERE operation_type = "VACUUM"
GROUP BY ALL
ORDER BY bytesVacuumed DESC;

Tahmine dayalı iyileştirme tarafından çalıştırılan işlemlerin başarı oranı nedir?

WITH operation_counts AS (
  SELECT
    COUNT(DISTINCT (CASE WHEN operation_status = "SUCCESSFUL" THEN operation_id END)) as successes,
    COUNT(DISTINCT operation_id) as total_operations
  FROM system.storage.predictive_optimization_operations_history
 )
SELECT successes / total_operations as success_rate
FROM operation_counts;