メインコンテンツまでスキップ

予測的最適化 システムテーブル Reference

備考

プレビュー

このシステムテーブルは パブリック プレビュー段階です。 テーブルにアクセスするには、 system カタログでスキーマを有効にする必要があります。 詳細については、「 システムテーブル スキーマを有効にする」を参照してください

注記

このテーブルにアクセスするには、storage スキーマを有効にし ( 「システムテーブル スキーマの有効化」を参照)、リージョンが予測的最適化をサポートしている必要があります ( Databricks クラウドとリージョンを参照)。

この記事では、予測的最適化操作履歴テーブル スキーマの概要を説明し、サンプル クエリを提供します。 予測的最適化 データレイアウトを最適化し、ピークパフォーマンスとコスト効率を実現します。 システムテーブルは、この機能の操作履歴を追跡します。 予測的最適化に関する情報については、Unity Catalog マネージドテーブルに対する予測的最適化を参照してください。

テーブルパス :このシステムテーブルは system.storage.predictive_optimization_operations_historyにあります。

配信に関する考慮事項

  • データの入力には、最大で 24 時間かかる場合があります。
  • 予測的最適化では、同じクラスターで複数の操作が実行される場合があります。 その場合、複数の操作のそれぞれに起因する DBU のシェアは概算されます。 これが、 usage_unit がに設定されている理由です ESTIMATED_DBU。 それでも、クラスターに費やされた DBU の合計数は正確です。

予測的最適化 Table Schema

予測的最適化操作履歴システムテーブルでは、次のスキーマが使用されます。

列名

データ型

説明

account_id

string

アカウントの ID。

11e22ba4-87b9-4cc2-9770-d10b894b7118

workspace_id

string

予測的最適化が操作を実行したワークスペースの ID。

1234567890123456

start_time

タイムスタンプ

操作が開始された時刻。 タイムゾーン情報は、 +00:00 UTC を表す値の終わりに記録されます。

2023-01-09 10:00:00.000+00:00

end_time

タイムスタンプ

操作が終了した時刻。 タイムゾーン情報は、 +00:00 UTC を表す値の終わりに記録されます。

2023-01-09 11:00:00.000+00:00

metastore_name

string

最適化されたテーブルが属するメタストアの名前。

metastore

metastore_id

string

最適化されたテーブルが属するメタストアの ID。

5a31ba44-bbf4-4174-bf33-e1fa078e6765

catalog_name

string

最適化されたテーブルが属するカタログの名前。

catalog

schema_name

string

最適化されたテーブルが属するスキーマの名前。

schema

table_id

string

最適化されたテーブルの ID。

138ebb4b-3757-41bb-9e18-52b38d3d2836

table_name

string

最適化されたテーブルの名前。

table1

operation_type

string

実行された最適化操作。 値は、 COMPACTIONVACUUMANALYZE、または CLUSTERINGになります。

COMPACTION

operation_id

string

最適化操作の ID。

4dad1136-6a8f-418f-8234-6855cfaff18f

operation_status

string

最適化操作のステータス。 値は SUCCESSFUL または FAILED: INTERNAL_ERRORになります。

SUCCESSFUL

operation_metrics

map[文字列, 文字列]

実行された特定の最適化に関する追加の詳細。 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

DECIMALタイプ

この操作で使用された使用量の単位の量。

2.12

Operation メトリクス

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
  • AUTO_CLUSTERING_COLUMN_SELECTION: old_clustering_columnsnew_clustering_columnshas_column_selection_changedadditional_reason (列の選択が変更された理由または変更されていない理由を含む)

クエリの例

次のセクションでは、予測的最適化 システムテーブルに知見を得るために使用できるサンプル クエリを示します。 これらのクエリを機能させるには、パラメーター値を独自の値に置き換える必要があります。

この記事には、次のクエリの例が含まれています。

過去 30 日間に予測的最適化が使用された推定 DBU はいくつありますか?

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

過去 30 日間に予測的最適化が最も多く費やしたテーブル (推定コスト) はどれか?

SQL
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

予測的最適化が最も多くの操作を実行しているのはどのテーブルですか?

SQL
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

特定のカタログについて、圧縮された合計バイト数はいくつですか?

SQL
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があったテーブルはどれですか?

SQL
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

予測的最適化によって実行される操作の成功率はどれくらいですか?

SQL
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