予測的最適化システムテーブルのリファレンス
プレビュー
この機能はパブリックプレビュー段階です。
注:
このテーブルにアクセスするには、storage
スキーマを有効にする必要があります ( 「システムテーブル スキーマの有効化」を参照)。また、リージョンで予測的最適化がサポートされている必要があります ( Databricksクラウドとリージョン」を参照)。
この記事では、予測的最適化操作履歴テーブル スキーマの概要を示し、サンプル クエリを示します。 予測的最適化は、最高のパフォーマンスとコスト効率を実現するためにデータ レイアウトを最適化します。 システムテーブルは、この機能の操作履歴を追跡します。 予測的最適化に関する情報については、 「 Delta Lakeの予測的最適化」を参照してください。
このシステムテーブルはsystem.storage.predictive_optimization_operations_history
にあります。
配信に関する考慮事項
データが入力されるまでに最大 24 時間かかる場合があります。
予測的最適化では、同じクラスターで複数の操作が実行される場合があります。 その場合、複数の操作のそれぞれに起因する DBU のシェアは概算されます。 これが、
usage_unit
がに設定されている理由ですESTIMATED_DBU
。 それでも、クラスターに費やされた DBU の合計数は正確です。
予測的最適化表スキーマ
予測的最適化操作履歴システムテーブルでは、次のスキーマが使用されます。
列名 |
データ型 |
説明 |
例 |
---|---|---|---|
|
string |
アカウントのID。 |
|
|
string |
予測的最適化が操作を実行したワークスペースの ID。 |
|
|
timestamp |
操作が開始された時刻。 |
|
|
timestamp |
操作が終了した時刻。 |
|
|
string |
最適化されたテーブルが属するメタストアの名前。 |
|
|
string |
最適化された表が属するカタログの名前。 |
|
|
string |
最適化されたテーブルが属するスキーマの名前。 |
|
|
string |
最適化されたテーブルの ID。 |
|
|
string |
最適化されたテーブルの名前。 |
|
|
string |
実行された最適化操作。 値は |
|
|
string |
最適化操作の ID。 |
|
|
string |
最適化操作のステータス。 値は |
|
|
マップ[文字列, 文字列] |
実行された特定の最適化に関する追加の詳細。 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) |
|
|
string |
この操作で発生した使用量の単位。 1 つの値 ( |
|
|
DECIMALタイプ |
この操作によって使用された使用単位の量。 |
|
クエリの例
次のセクションには、予測的最適化システムテーブルに知見を取得するために使用できるサンプルクエリーが含まれています。 これらのクエリーを機能させるには、中括弧 {{}}
内の値を独自のパラメーターに置き換える必要があります。
この記事には、次のクエリの例が含まれています。
過去 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
最も多くのバイトがvacuumれたテーブルはどれですか?
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