予測最適化システム テーブル参照
重要
このシステム テーブルは パブリック プレビュー にあります。 テーブルにアクセスするには、 system
カタログでスキーマを有効にすることが必要です。 詳細については、「システム テーブル スキーマを有効にする」を参照してください。
Note
このテーブルにアクセスするには、ユーザーが storage
スキーマを有効にし (「システム テーブル スキーマを有効にする」を参照)、リージョンが予測最適化に対応している必要があります (「Azure Databricks のリージョン」を参照)。
この記事では、予測最適化操作履歴テーブルのスキーマに関する概要について説明し、サンプル クエリを提供します。 予測最適化によってデータ レイアウトを最適化し、最高レベルのパフォーマンスとコスト効率を実現します。 システム テーブルは、この機能の操作履歴を追跡します。 予測最適化の詳細については、「Unity Catalog 管理テーブルの予測最適化」を参照してください。
テーブル パス: このシステム テーブルは、 system.storage.predictive_optimization_operations_history
にあります。
配信に関する考慮事項
- データが入力されるまでに最大で 24 時間かかる場合があります。
- 予測最適化では、同じクラスターで複数の操作が実行される場合があります。 その場合、各操作に起因する DBU のシェアが概算されます。 これが、
usage_unit
がESTIMATED_DBU
に設定されている理由です。 クラスターに使用される DBU の総数が正確であることに変わりはありません。
予測最適化 テーブルのスキーマ
予測最適化操作履歴システム テーブルでは、次のスキーマが使用されます。
列名 | データ型 | 説明 | 例 |
---|---|---|---|
account_id |
string | アカウントの ID。 | 11e22ba4-87b9-4cc2-9770-d10b894b7118 |
workspace_id |
string | 予測最適化で操作を実行したワークスペースの ID。 | 1234567890123456 |
start_time |
timestamp | 操作を開始した時刻。 タイムゾーン情報は、UTC を表す +00:00 という形式で値の末尾に記録されます。 |
2023-01-09 10:00:00.000+00:00 |
end_time |
timestamp | 操作を終了した時刻。 タイムゾーン情報は、UTC を表す +00:00 という形式で値の末尾に記録されます。 |
2023-01-09 11:00:00.000+00:00 |
metastore_name |
string | 最適化されたテーブルが属するメタストアの名前。 | metastore |
catalog_name |
string | 最適化されたテーブルが属するカタログの名前。 | catalog |
schema_name |
string | 最適化されたテーブルが属するスキーマの名前。 | schema |
table_id |
string | 最適化されたテーブルの ID。 | 138ebb4b-3757-41bb-9e18-52b38d3d2836 |
table_name |
string | 最適化されたテーブルの名前。 | table1 |
operation_type |
string | 実行した最適化操作。 値は、COMPACTION 、VACUUM 、ANALYZE 、または CLUSTERING になります。 |
COMPACTION |
operation_id |
string | 最適化操作に使用する ID。 | 4dad1136-6a8f-418f-8234-6855cfaff18f |
operation_status |
string | 最適化操作の状態。 値は SUCCESSFUL または FAILED: INTERNAL_ERROR になります。 |
SUCCESSFUL |
operation_metrics |
マップ [string, string] | 実行された特定の最適化に関する追加の詳細情報。 Operation メトリックを参照してください。 | {"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 | この操作で発生した使用単位。 値として指定できるのは、ESTIMATED_DBU の 1 つのみです。 |
ESTIMATED_DBU |
usage_quantity |
小数 | この操作で使用された使用量単位の量。 | 2.12 |
操作メトリック
operation_metrics
列に記録されるメトリックは、操作の種類によって異なります。
COMPACTION
:number_of_compacted_files
、amount_of_data_compacted_bytes
、number_of_output_files
、amount_of_output_data_bytes
VACUUM
:number_of_deleted_files
、amount_of_data_deleted_bytes
ANALYZE
:amount_of_scanned_bytes
、number_of_scanned_files
、staleness_percentage_reduced
CLUSTERING
:number_of_removed_files
、number_of_clustered_files
、amount_of_data_removed_bytes
、amount_of_clustered_data_bytes
クエリの例
次のセクションには、予測最適化システム テーブルの分析情報を得るために使用できるサンプル クエリが含まれています。 これらのクエリを機能させるには、中かっこ {{}}
内の値を独自のパラメータに置き換える必要があります。
この記事には、次のクエリの例が含まれています。
- 過去 30 日間に予測最適化が使用された DBU の数はいくつですか?
- 過去 30 日間において、予測最適化で最も多く使用されたテーブルはどれですか?
- 予測最適化で最も多くの操作を実行しているテーブルはどれですか?
- 特定のカタログについて、圧縮された合計バイト数はいくつですか?
- 最も多くのバイト数がバキューム処理されたテーブルはどれですか?
- 予測最適化によって実行される操作の成功率はどのくらいですか?
過去 30 日間に予測最適化が使用された DBU の推定数はいくつですか?
SELECT SUM(usage_quantity)
FROM system.storage.predictive_optimization_operations_history
WHERE
usage_unit = "ESTIMATED_DBU"
AND timestampdiff(day, start_time, Now()) < 30
過去 30 日間に予測最適化で最も多く使用されたテーブル (推定コスト) はどれですか?
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
予測最適化で最も多くの操作を実行しているテーブルはどれですか?
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
特定のカタログについて、圧縮された合計バイト数はいくつですか?
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
最も多くのバイト数がバキューム処理されたテーブルはどれですか?
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
予測最適化によって実行される操作の成功率はどのくらいですか?
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