予測的最適化システムテーブルリファレンス

プレビュー

この機能は パブリックプレビュー版です。

注:

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

この記事では、予測的最適化操作履歴テーブル スキーマの概要を説明し、サンプル クエリを提供します。 予測的最適化は、ピークパフォーマンスとコスト効率のためにデータレイアウトを最適化します。 システム テーブルは、この機能の操作履歴を追跡します。 予測的最適化の詳細については、「 Delta Lake の予測的最適化」を参照してください。

このシステム・テーブルは 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

操作が開始された時刻。

2023-01-09 10:00:00.000

end_time

timestamp

操作が終了した時刻。

2023-01-09 11:00:00.000

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になります。

COMPACTION

operation_id

string

最適化操作の ID。

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

operation_status

string

最適化操作の状態。 値は SUCCESSFUL または FAILED: INTERNAL_ERRORになります。

SUCCESSFUL

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)

{"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

この操作で発生した使用単位。 1 つの値のみを指定できます: ESTIMATED_DBU

ESTIMATED_DBU

usage_quantity

小数

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

2.12

クエリーの例

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

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

過去 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