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.
Ö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ı optimizasyon tarafından kullanılan tahmini DBU sayısı kaçtır?
- Tahmine dayalı iyileştirme son 30 gün içinde en çok hangi tablolarda (tahmini maliyet) harcandı?
- En çok işlem gerçekleştiren tahmine dayalı iyileştirme hangi tablolardadır?
- Belirli bir katalog için toplam bayt sayısı sıkıştırıldı mı?
- Hangi tablolarda en çok bayt vakumlanmış?
- Tahmine dayalı iyileştirme tarafından çalıştırılan işlemlerin başarı oranı nedir?
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;