クエリ履歴システムテーブルリファレンス

プレビュー

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

この記事には、テーブルのスキーマの概要を含む、クエリ履歴システムテーブルに関する情報が含まれています。

重要

クエリ履歴システムテーブルにアクセスするには、 queryスキーマを有効にする必要があります。 システム スキーマを有効にする手順については、「システムテーブル スキーマを有効にする」を参照してください。

クエリ履歴テーブルの使用

system.query.history にあるクエリ履歴テーブルには、 SQLウェアハウスを使用して実行されたすべてのSQLステートメントのレコードが含まれます。 テーブルには、テーブルにアクセスするのと同じリージョン内のすべてのワークスペースからのアカウント全体のレコードが含まれます。

デフォルトにより、管理者のみがシステムテーブルにアクセスできます。 テーブルのデータをユーザーまたはグループと共有する場合、Databricks ではユーザーまたはグループごとに動的ビューを作成することをお勧めします。 「動的ビューの作成」を参照してください

クエリ履歴システムテーブルスキーマ

クエリ履歴システムテーブルは次のスキーマを使用します。

列名

データ型

説明

account_id

文字列

アカウントのID。

11e22ba4-87b9-4cc2

-9770-d10b894b7118

workspace_id

文字列

クエリが実行されたワークスペースの ID。

1234567890123456

statement_id

文字列

文の実行を一意に識別する ID。 この ID を使用して、クエリー履歴UI でステートメントの実行を見つけることができます。

7a99b43c-b46c-432b

-b0a7-814217701909

session_id

文字列

Spark セッション ID。

01234567-cr06-a2mp

-t0nd-a14ecfb5a9c2

execution_status

文字列

文の終了状態。 可能な値は次のとおりです。

  • FINISHED: 実行は成功しました

  • FAILED: 実行が失敗し、付随するエラーメッセージに記載されている失敗の理由があります

  • CANCELED: 実行がキャンセルされました

FINISHED

compute

構造体

ステートメントの実行に使用されるコンピュート リソースのタイプと、該当する場合はリソースの ID を表す構造体。 type値は WAREHOUSE または SERVERLESS_COMPUTEになります。

{

type: WAREHOUSE,

cluster_id: NULL,

warehouse_id: ec58ee3772e8d305

}

executed_by_user_id

文字列

ステートメントを実行したユーザーの ID。

2967555311742259

executed_by

文字列

ステートメントを実行したユーザーの電子メールアドレスまたはユーザー名。

example@databricks.com

statement_text

文字列

SQL ステートメントのテキスト。 顧客管理キーを設定している場合、 statement_text空になります。

SELECT 1

statement_type

文字列

ステートメントのタイプ。 たとえば、 ALTERCOPY、'INSERT' などです。

SELECT

error_message

文字列

エラー状態を説明するメッセージ。 顧客管理キーを設定している場合、 error_message空になります。

[INSUFFICIENT_PERMISSIONS]

Insufficient privileges:

User does not have

permission SELECT on table

'default.nyctaxi_trips'.

client_application

文字列

ステートメントを実行したクライアント アプリケーション。 例: Databricks SQL、Tableau、Power BI。

Databricks SQL

client_driver

文字列

ステートメントを実行するために Databricks に接続するために使用されるコネクタ。 例: Databricks SQL Driver for Go、Databricks ODBC ドライバー、Databricks JDBC ドライバー。

Databricks JDBC Driver

total_duration_ms

bigint

ステートメントの合計実行時間(ミリ秒単位)(結果フェッチ時間を除く)。

1

waiting_for_compute_duration_ms

bigint

コンピュートリソースが失われるのを待つのに費やされた時間(ミリ秒単位)。

1

waiting_at_capacity_duration_ms

bigint

使用可能なコンピュート容量をキューで待機するのに費やされた時間(ミリ秒)。

1

execution_duration_ms

bigint

ステートメントの実行に費やされた時間 (ミリ秒単位)。

1

compilation_duration_ms

bigint

メタデータの読み込みとステートメントの最適化に費やされた時間 (ミリ秒単位)。

1

total_task_duration_ms

bigint

すべてのタスクの所要時間の合計(ミリ秒単位)。 この時間は、すべてのノードのすべてのコアでクエリを実行するのにかかった合計時間を表します。 複数のタスクが並行して実行される場合、実時間よりも大幅に長くなる可能性があります。 タスクが利用可能なノードを待機する場合、ウォールクロック期間よりも短くなることがあります。

1

result_fetch_duration_ms

bigint

実行の終了後に文の結果をフェッチするのに費やされた時間 (ミリ秒単位)。

1

start_time

timestamp

Databricks がリクエストを受信した時刻。 タイムゾーン情報は値の末尾に記録され、 +00:00は UTC を表します。

2022-12-05T00:00:00.000+0000

end_time

timestamp

ステートメントの実行が終了した時刻 (結果のフェッチ時刻を含む)。 タイムゾーン情報は値の末尾に記録され、 +00:00は UTC を表します。

2022-12-05T00:00:00.000+00:00

update_time

timestamp

ステートメントが進行状況の更新を最後に受信した時刻。 タイムゾーン情報は値の末尾に記録され、 +00:00は UTC を表します。

2022-12-05T00:00:00.000+00:00

read_partitions

bigint

プルーニング後に読み取られたパーティションの数。

1

pruned_files

bigint

プルーニングされたファイルの数。

1

read_files

bigint

プルーニング後に読み取られたファイルの数。

1

read_rows

bigint

文によって読み取られたローの合計数。

1

produced_rows

bigint

文によって返されたローの合計数。

1

read_bytes

bigint

文によって読み取られたデータの合計サイズ (バイト単位)。

1

read_io_cache_percent

int

IO キャッシュから読み取られた永続データのバイト数の割合。

50

from_results_cache

ブーリアン

TRUE 文の結果がキャッシュからフェッチされたことを示します。

TRUE

spilled_local_bytes

bigint

文の実行中に一時的にディスクに書き込まれるデータのサイズ (バイト単位)。

1

written_bytes

bigint

クラウド オブジェクト ストレージに書き込まれる永続データのサイズ (バイト単位)。

1

shuffle_read_bytes

bigint

ネットワーク経由で送信されたデータの合計量 (バイト単位)。

1

レコードのクエリ プロファイルを表示する

クエリ履歴テーブル内のレコードに基づくクエリのクエリプロファイルに移動するには、次の操作を行います。

  1. 目的のレコードを特定し、レコードの statement_idをコピーします。

  2. レコードのworkspace_idを参照して、レコードと同じワークスペースにログインしていることを確認します。

  3. クリック履歴アイコンワークスペースサイドバーのクエリ履歴

  4. [ステートメント ID] フィールドに、レコードのstatement_idを貼り付けます。

  5. クエリの名前をクリックします。 クエリメトリクスの概要が表示されます。

  6. [ クエリ プロファイルの表示] をクリックします。