Bagikan melalui


Referensi tabel sistem pengoptimalan prediktif

Penting

Tabel sistem ini berada dalam Pratinjau Umum.

Catatan

Untuk memiliki akses ke tabel ini, wilayah Anda harus mendukung pengoptimalan prediktif. Lihat wilayah Azure Databricks.

Artikel ini menguraikan skema tabel riwayat operasi pengoptimalan prediktif dan menyediakan kueri sampel. Pengoptimalan prediktif mengoptimalkan tata letak data Anda untuk performa puncak dan efisiensi biaya. Tabel sistem melacak riwayat operasi fitur ini. Untuk informasi tentang pengoptimalan prediktif, lihat pengoptimalan prediktif untuk tabel terkelola Katalog Unity.

Jalur tabel: Tabel sistem ini terletak di system.storage.predictive_optimization_operations_history.

Pertimbangan pengiriman

  • Tabel sistem pengoptimalan prediktif diperbarui dalam waktu dua jam. Namun, informasi penagihan dapat memakan waktu hingga 24 jam untuk mengisi data.
  • Pengoptimalan prediktif mungkin menjalankan beberapa operasi pada kluster yang sama. Jika demikian, bagian dari DBU yang dikaitkan dengan masing-masing dari beberapa operasi diperkirakan. Inilah sebabnya mengapa usage_unit diatur ke ESTIMATED_DBU. Namun, jumlah total DBU yang dihabiskan untuk kluster akan akurat.

Skema tabel pengoptimalan prediktif

Tabel sistem riwayat operasi pengoptimalan prediktif menggunakan skema berikut:

Nama kolom Jenis data Deskripsi Contoh
account_id string ID akun. 11e22ba4-87b9-4cc2-9770-d10b894b7118
workspace_id string ID ruang kerja tempat pengoptimalan prediktif melakukan operasi. 1234567890123456
start_time stempel waktu Waktu dimulainya operasi. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. 2023-01-09 10:00:00.000+00:00
end_time stempel waktu Waktu di mana operasi berakhir. Informasi zona waktu dicatat di akhir nilai dengan +00:00 mewakili UTC. 2023-01-09 11:00:00.000+00:00
metastore_name string Nama metastore tempat tabel yang sudah dioptimalkan berada. metastore
metastore_id string ID metastore tempat tabel yang dioptimalkan berada. 5a31ba44-bbf4-4174-bf33-e1fa078e6765
catalog_name string Nama katalog tempat tabel yang dioptimalkan berada. catalog
schema_name string Nama skema tempat tabel yang dioptimalkan berada. schema
table_id string ID tabel yang dioptimalkan. 138ebb4b-3757-41bb-9e18-52b38d3d2836
table_name string Nama tabel yang dioptimalkan. table1
operation_type string Operasi pengoptimalan dilakukan. Harus salah satu nilai berikut: COMPACTION, , VACUUM, ANALYZE, CLUSTERINGAUTO_CLUSTERING_COLUMN_SELECTION, , DATA_SKIPPING_COLUMN_SELECTION, atau COMPATIBILITY_MODE_REFRESH. COMPACTION
operation_id string ID untuk operasi pengoptimalan. 4dad1136-6a8f-418f-8234-6855cfaff18f
operation_status string Status operasi pengoptimalan. Harus salah satu nilai berikut: SUCCESSFUL atau FAILED: INTERNAL_ERROR. SUCCESSFUL
operation_metrics map[string, string] Detail tambahan tentang pengoptimalan spesifik yang dilakukan. Lihat Metrik operasi. {"number_of_output_files":"100","number_of_compacted_files":"1000","amount_of_output_data_bytes":"4000","amount_of_data_compacted_bytes":"10000"}
usage_unit string Satuan penggunaan yang ditanggung oleh operasi ini. Harus berupa nilai berikut: ESTIMATED_DBU. ESTIMATED_DBU
usage_quantity desimal Jumlah unit penggunaan yang digunakan oleh operasi ini. 2.12

Metrik operasi

Metrik yang direkam dalam kolom operation_metrics bervariasi tergantung pada jenis operasi:

Nama operasi Deskripsi operasi Metrik operasi Deskripsi
COMPACTION Meningkatkan performa kueri dengan mengoptimalkan ukuran file. Lihat Optimalkan tata letak file data. number_of_compacted_files Jumlah file yang dihapus oleh operasi ini.
amount_of_data_compacted_bytes Jumlah byte yang dihapus oleh operasi ini.
number_of_output_files Jumlah file baru yang ditambahkan oleh operasi ini.
amount_of_output_data_bytes Jumlah byte yang ditambahkan oleh operasi ini.
VACUUM Mengurangi biaya penyimpanan dengan menghapus file data tidak lagi direferensikan oleh tabel. Lihat Menghapus file data yang tidak digunakan dengan vakum. number_of_deleted_files Jumlah file sampah yang dikumpulkan oleh operasi ini.
amount_of_data_deleted_bytes Jumlah byte sampah yang dikumpulkan oleh operasi ini.
ANALYZE Memicu pembaruan statistik secara bertahap untuk meningkatkan kinerja kueri. Lihat ANALYZE TABLE. amount_of_scanned_bytes Jumlah byte yang dipindai oleh operasi ini.
number_of_scanned_files Jumlah file yang dipindai oleh operasi ini.
staleness_percentage_reduced Pengurangan persentase kedaluarsa setelah operasi ini. Statistik ini dapat berkisar antara 0 hingga 100 berdasarkan frekuensi yang ANALYZE dijalankan.
CLUSTERING Memicu pengklusteran inkremental untuk tabel yang diaktifkan. Lihat Menggunakan pengklusteran cair untuk tabel. number_of_removed_files Jumlah file yang dihapus oleh operasi ini.
number_of_clustered_files Jumlah file baru yang ditambahkan oleh operasi ini.
amount_of_data_removed_bytes Jumlah byte yang dihapus oleh operasi ini.
amount_of_clustered_data_bytes Jumlah byte yang ditambahkan oleh operasi ini.
AUTO_CLUSTERING_COLUMN_SELECTION Mengevaluasi apakah akan mengembangkan kolom pengklusteran. Lihat pengklusteran cairan otomatis. old_clustering_columns Tata letak data sebelumnya, yang dapat berupa kunci pengklusteran lama atau "Tidak Ada" jika tidak dipartisi.
new_clustering_columns Kolom pengklusteran baru yang diterapkan oleh operasi ini.
has_column_selection_changed Apakah operasi ini telah mengubah kolom pengklusteran.
additional_reason Alasan perubahan atau tidak ada perubahan dalam kolom pengklusteran.
DATA_SKIPPING_COLUMN_SELECTION Mendeteksi kolom dengan data yang hilang, melewati statistik akibat beban kerja, dan mengisi data tersebut kembali. Lihat Data Skipping. amount_of_scanned_bytes Jumlah byte yang dipindai oleh operasi ini.
number_of_scanned_files Jumlah file yang dipindai oleh operasi ini.
added_data_skipping_columns Kolom lompati data yang baru ditambahkan diterapkan oleh operasi ini.
removed_data_skipping_columns Kolom lompati data dihapus oleh operasi ini.
old_data_skipping_columns Daftar lengkap kolom lompat data sebelumnya.
new_data_skipping_columns Daftar lengkap kolom yang melewatkan data saat ini.
COMPATIBILITY_MODE_REFRESH Mendeteksi apakah Mode Kompatibilitas sudah kedaluarsa dan menyegarkan tabel. Lihat Mode Kompatibilitas. N/A Operasi refresh Mode Kompatibilitas.

Contoh kueri

Bagian berikut menyertakan kueri sampel yang dapat Anda gunakan untuk mendapatkan wawasan tentang tabel sistem pengoptimalan prediktif. Agar kueri ini berfungsi, Anda perlu mengganti nilai parameter dengan nilai Anda sendiri.

Artikel ini menyertakan contoh kueri berikut:

Berapa banyak DBU yang diperkirakan telah digunakan oleh pengoptimalan prediktif dalam 30 hari terakhir?

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

Untuk menemukan nilai yang sama untuk alur ETL tertentu, Anda dapat terlebih dahulu menemukan tabel dalam alur tersebut, lalu mencari DBA:

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

Pada tabel mana pengoptimalan prediktif menghabiskan paling banyak dalam 30 hari terakhir (perkiraan biaya)?

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;

Pada tabel mana pengoptimalan prediktif melakukan operasi terbanyak?

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;

Untuk katalog tertentu, berapa banyak total byte yang telah dikompresi?

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;

Tabel mana yang memiliki jumlah byte terbanyak yang dibersihkan?

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;

Berapa tingkat keberhasilan operasi yang dijalankan oleh pengoptimalan prediktif?

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;