Aracılığıyla paylaş


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. Şu değerlerden biri olmalıdır: COMPACTION, VACUUM, ANALYZE, CLUSTERING, , AUTO_CLUSTERING_COLUMN_SELECTION, DATA_SKIPPING_COLUMN_SELECTIONveya COMPATIBILITY_MODE_REFRESH. COMPACTION
operation_id Dize Optimizasyon işleminin kimliği. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status Dize İyileştirme işleminin durumu. Aşağıdaki değerlerden biri olmalıdır: SUCCESSFUL veya FAILED: INTERNAL_ERROR. SUCCESSFUL
operation_metrics map[string, string] Gerçekleştirilen belirli iyileştirme hakkında ek ayrıntılar. 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 Bu işlemin oluşturduğu kullanım birimi. Şu değer olmalıdır: ESTIMATED_DBU. ESTIMATED_DBU
usage_quantity ondalık Bu işlem tarafından 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 Bu işlem tarafından kaldırılan dosya sayısı.
amount_of_data_compacted_bytes Bu işlem tarafından kaldırılan bayt miktarı.
number_of_output_files Bu işlem tarafından eklenen yeni dosyaların sayısı.
amount_of_output_data_bytes Bu işlem tarafından eklenen bayt miktarı.
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 Bu işlem tarafından toplanan çöp dosya sayısı.
amount_of_data_deleted_bytes Bu işlem tarafından toplanan bayt çöp miktarı.
ANALYZE Sorgu performansını geliştirmek için istatistiklerin artımlı güncelleştirmesini tetikler. Bkz. ANALYZE TABLE. amount_of_scanned_bytes Bu işlem tarafından taranan bayt miktarı.
number_of_scanned_files Bu işlem tarafından taranan dosya sayısı.
staleness_percentage_reduced Bu işlemden sonra eskime yüzdesinde azalma. Bu istatistik, çalıştırılacak sıklığa 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 Bu işlem tarafından kaldırılan dosya sayısı.
number_of_clustered_files Bu işlem tarafından eklenen yeni dosyaların sayısı.
amount_of_data_removed_bytes Bu işlem tarafından kaldırılan bayt miktarı.
amount_of_clustered_data_bytes Bu işlem tarafından eklenen bayt miktarı.
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 Eski kümeleme anahtarları veya bölümlenmemişse "Yok" olabilecek önceki veri yerleşimi.
new_clustering_columns Bu işlem yeni kümeleme sütunlarını uyguladı.
has_column_selection_changed Bu işlemin kümeleme sütunlarını geliştirip geliştirmediği.
additional_reason Kümeleme sütunlarındaki değişikliğin veya değişikliğin olmamasının 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 Bu işlem tarafından taranan bayt miktarı.
number_of_scanned_files Bu işlem tarafından taranan dosya sayısı.
added_data_skipping_columns Bu işlemle veri atlamada kullanılan ve yeni eklenen sütunlar.
removed_data_skipping_columns Bu işlemle kaldırılan veri atlama sütunları.
old_data_skipping_columns Verileri atlayan sütunların önceki kapsamlı listesi.
new_data_skipping_columns Güncel veri atlama sütunlarının kapsamlı 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.

Ö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;