次の方法で共有


システム テーブルを使用してアカウント アクティビティを監視する

この記事では、Azure Databricks のシステム テーブルの概念について説明し、システム テーブルのデータを最大限に活用するために使用できるリソースにを紹介します。

システム テーブルとは?

システム テーブルは、 system カタログにあるアカウントの運用データの Azure Databricks ホスト型分析ストアです。 システム テーブルは、アカウント全体の履歴監視に使用できます。

system.information_schema のドキュメントについては、「情報スキーマ」をご覧ください。

要件

  • システム テーブルにアクセスするには、ワークスペースを、Unity Catalog に対して有効にする必要があります。 詳細については、「 システム テーブルへのアクセス」を参照してください。
  • システム テーブルは、次のリージョンでは使用できません。
    • Azure 中国リージョン
    • Azure Government リージョン
    • インド西部
    • スイス西部

使用できるシステム テーブルはどれですか?

現在、Azure Databricks は次のシステム テーブルをホストしています。

テーブル 説明 ストリーミングをサポート 無料の保持期間 グローバル データまたはリージョン データを含める
監査ログ (パブリック プレビュー) リージョン内のワークスペースからのすべての監査イベントのレコードが含まれます。 利用可能な監査イベントの一覧については、「診断ログ リファレンス」をご覧ください。
テーブル パス: system.access.audit
あり 365 日 ワークスペース レベルのイベントの場合はリージョン。 アカウント レベルのイベントの場合はグローバル。
課金対象使用状況 アカウント全体での、課金対象のすべての使用状況のレコードが含まれています。
テーブル パス: system.billing.usage
あり 365 日 グローバル
クリーン ルーム イベント (パブリック プレビュー) クリーン ルームに関連するイベントを取得します。
テーブル パス: system.access.clean_room_events
あり 365 日 地域
クラスター 任意のクラスターの時間の経過に伴うコンピューティング構成の全履歴を含む、ゆっくりと変化するディメンジョン テーブル。 あり 365 日 地域
列の系列 Unity Catalog 列の読み取りまたは書き込みイベントごとにレコードが含まれています (ただし、ソースを含まないイベントは含まれません)。
テーブル パス: system.access.column_lineage
あり 365 日 地域
データ分類の結果 (ベータ) メタストア内の有効なカタログ間で機密データ クラスの列レベルの検出を格納します。
テーブル パス: system.data_classification.results
いいえ 365 日 地域
データ品質の監視結果 (ベータ) データ品質の監視チェック (鮮度、完全性) とインシデント情報 (ダウンストリームの影響や根本原因分析など) の結果を、メタストア内の有効なテーブル全体に格納します。
テーブル パス: system.data_quality_monitoring.table_results
いいえ 不定 地域
Databricks アシスタント イベント (パブリック プレビュー) Databricks アシスタントに送信されたユーザー メッセージを追跡します。
テーブル パス: system.access.assistant_events
いいえ 365 日 地域
差分共有データ実体化イベント ビュー、具体化されたビュー、およびストリーミング テーブル共有から作成されたデータ具体化イベントをキャプチャします。
テーブル パス: system.sharing.materialization_history
あり 365 日 ワークスペース レベルのイベントの場合はリージョン。
ジョブ実行タイムライン (パブリック プレビュー) ジョブ実行の開始時刻と終了時刻を追跡します。
テーブル パス: system.lakeflow.job_run_timeline
あり 365 日 地域
ジョブ タスクのタイムライン (パブリック プレビュー) ジョブ タスクの実行の開始時刻と終了時刻、およびその実行に使用されるコンピューティング リソースを追跡します。
テーブル パス: system.lakeflow.job_task_run_timeline
あり 365 日 地域
ジョブ タスク (パブリック プレビュー) アカウントで実行されるすべてのジョブ タスクを追跡します。
テーブル パス: system.lakeflow.job_tasks
あり 365 日 地域
ジョブ (パブリック プレビュー) アカウントで作成されたすべてのジョブを追跡します。
テーブル パス: system.lakeflow.jobs
あり 365 日 地域
マーケットプレース ファネル イベント (パブリック プレビュー) 登録情報のコンシューマーの印象とファネル データが含まれます。
テーブル パス: system.marketplace.listing_funnel_events
あり 365 日 地域
マーケットプレース登録情報へのアクセス (パブリック プレビュー) リスト上の完了したデータ要求またはデータ取得イベントのコンシューマー情報を含みます。
テーブル パス: system.marketplace.listing_access_events
あり 365 日 地域
MLflow 追跡実験メタデータ (パブリック プレビュー) 各行は、Databricks で管理される MLflow システムで作成された実験を表します。
テーブル パス: system.mlflow.experiments_latest
あり 180 日 地域
MLflow 追跡実行メタデータ (パブリック プレビュー) 各行は、Databricks マネージド MLflow システムで作成された実行を表します。
テーブル パス: system.mlflow.runs_latest
あり 180 日 地域
MLflow 追跡実行メトリック (パブリック プレビュー) 特定のモデルトレーニング、評価、またはエージェント開発に関連付けられた MLflow に記録された時系列メトリックを保持します。
テーブル パス: system.mlflow.run_metrics_history
あり 180 日 地域
エンドポイント データを提供するモデル (パブリック プレビュー) サービスを提供する各基盤モデルのメタデータをモデル サービス エンドポイントに格納する、緩やかに変化するディメンション テーブル。
テーブル パス: system.serving.served_entities
あり 365 日 地域
エンドポイント使用状況を提供するモデル (パブリック プレビュー) エンドポイントとその応答を提供するモデルに対する、各要求のトークン数を取得します。 この表のエンドポイントの使用状況を取得するには、サービス エンドポイントで使用状況の追跡を有効化する必要があります。
テーブル パス: system.serving.endpoint_usage
あり 90 日間 地域
ネットワーク アクセス イベント (受信) (パブリック プレビュー) ワークスペースへの受信アクセスがイングレス ポリシーによって拒否されるたびにイベントを記録するテーブル。
テーブル パス: system.access.inbound_network
あり 30 日間 地域
ネットワーク アクセス イベント (送信) (パブリック プレビュー) 送信インターネット アクセスがアカウントから拒否されるたびにイベントを記録するテーブル。
テーブル パス: system.access.outbound_network
あり 365 日 地域
ノードのタイムライン 汎用コンピューティング リソースとジョブ コンピューティング リソースの使用率メトリックを取得します。
テーブル パス: system.compute.node_timeline
あり 90 日間 地域
ノードの種類 現在使用可能なノードの種類と基本的なハードウェア情報を取得します。
テーブル パス: system.compute.node_types
いいえ 不定 地域
パイプライン更新タイムライン (パブリック プレビュー) パイプラインの更新に使用される開始時刻と終了時刻とコンピューティング リソースを追跡します。
テーブル パス: system.lakeflow.pipeline_update_timeline
あり 365 日 地域
パイプライン (パブリック プレビュー) アカウントで作成されたすべてのパイプラインを追跡します。
テーブル パス: system.lakeflow.pipelines
あり 365 日 地域
予測最適化 (パブリック プレビュー) 予測最適化機能の操作履歴を追跡します。
テーブル パス: system.storage.predictive_optimization_operations_history
いいえ 180 日 地域
料金 SKU 価格の履歴ログ。 レコードは、SKU 価格が変更されるたびに追加されます。
テーブル パス: system.billing.list_prices
いいえ 不定 グローバル
Query History (パブリック プレビュー) SQLウェアハウスとサーバーレスコンピューティングで実行されるノートブックおよびジョブに関するすべてのクエリのレコードをキャプチャします。
テーブル パス: system.query.history
いいえ 365 日 地域
SQL ウェアハウス イベント (パブリック プレビュー) SQL ウェアハウスに関連するイベントを取得します。 たとえば、開始、停止、実行、スケールアップ、スケールダウンがあります。
テーブル パス: system.compute.warehouse_events
あり 365 日 地域
SQL ウェアハウス (パブリック プレビュー) すべての SQL ウェアハウスの構成の一定期間にわたる完全な履歴が含まれます。
テーブル パス: system.compute.warehouses
あり 365 日 地域
テーブルの系列 Unity Catalog テーブルまたはパスの読み取り/書き込みイベントごとに 1 つのレコードが含まれます。
テーブル パス: system.access.table_lineage
あり 365 日 地域
ワークスペース (パブリック プレビュー) workspaces_latest テーブルは、アカウント内のすべてのワークスペースのメタデータの緩やかに変化するディメンション テーブルです。
テーブル パス: system.access.workspaces_latest
いいえ 不定 グローバル

請求対象の使用量および価格テーブルは無料で使用できます。 パブリック プレビューのテーブルもプレビュー期間中は無料で使用できますが、今後料金が発生する可能性があります。

上記のシステム テーブルに加えて、アカウントに他のシステム テーブルが表示される場合があります。 これらのテーブルは現在プライベート プレビュー段階であり、既定では空です。 これらのテーブルのいずれかを使用する場合は、Databricks アカウント チームにお問い合わせください。

システム テーブルのリレーションシップ

次のエンティティリレーションシップ図は、現在使用可能なシステム テーブルが相互にどのように関連しているかを示しています。 この図では、各テーブルの主キーと外部キーが強調表示されています。

Databricks システム テーブルのエンティティリレーションシップ図

システム テーブルへのアクセス

システム テーブルは Unity カタログによって管理されるため、アカウントのシステム テーブルにアクセスするには、アカウントに少なくとも 1 つの Unity カタログ対応ワークスペースが必要です。 システム テーブルにはアカウント内のすべてのワークスペースのデータが含まれますが、アクセスできるのは Unity カタログ対応ワークスペースのみです。

システム テーブルにアクセスするには、metastore が Unity カタログ特権モデル バージョン 1.0 上にある必要があります。 「特権継承へのアップグレード」を参照してください。

システム テーブルへのアクセスを許可する

システム テーブルへのアクセスは、Unity Catalog で管理されます。 既定では、これらのシステム スキーマにアクセスできるユーザーはいません。 アクセス権を付与するには、metastore 管理者とアカウント管理者の両方であるユーザーが、システム スキーマに対する USESELECT のアクセス許可を付与する必要があります。 「Unity Catalog の特権の管理」を参照してください。

システム テーブルは読み取り専用で、変更はできません。

アカウントが 2023 年 11 月 9 日以降に作成された場合、既定ではメタストア管理者がいない場合があります。 詳細については、「 Unity カタログの概要」を参照してください。

システム テーブルには、アカウント内のすべてのワークスペースのデータが含まれていますか?

システム テーブルには、同じクラウド リージョン内にデプロイされた、アカウント内のすべてのワークスペースの運用データが含まれます。 一部のテーブルにはグローバル データが含まれています。 詳細については、 使用可能なテーブルの一覧を参照してください。

システム テーブルには Unity カタログ ワークスペース経由でのみアクセスできますが、Unity カタログ以外のワークスペースからの操作データがアカウントに含まれます。

システム テーブル データはどこに保存されますか?

アカウントのシステム テーブル データは、メタストアと同じリージョンにある Azure Databricks でホストされるストレージ アカウントに格納されます。 データはデータ共有を使用して安全に共有されます。

各テーブルには、無料のデータ保持期間があります。 詳細については、「どのシステム テーブルを使用できるか」の「空き保有期間」列を参照してください。

システム テーブルはカタログ エクスプローラーのどこにありますか?

アカウント内のシステム テーブルは、system と呼ばれるカタログにあります。これはすべての Unity Catalog メタストアに含まれています。 system カタログには、システム テーブルを含むaccessbillingなどのスキーマが表示されます。

システム テーブルのストリーミングに関する考慮事項

Azure Databricks は、Delta Sharing を使用してシステム テーブル データを顧客と共有します。 Delta Sharing を使用してストリーミングするときは、次の考慮事項に注意してください。

  • システム テーブルでストリーミングを使用している場合は、skipChangeCommits オプションを true に設定します。 これにより、ストリーミング ジョブがシステム テーブル内の削除によって中断されないようにします。 「更新と削除を無視する」をご覧ください。
  • Delta Sharing ストリーミングでは、Trigger.AvailableNow はサポートされません。 これは、Trigger.Once に変換されます。

ストリーミング ジョブでトリガーを使用し、最新のシステム テーブル バージョンに追いついていない場合、Databricks ではジョブのスケジュールされた頻度を増やすことをお勧めします。

ストリーミング システム テーブルから増分変更を読み取る

spark.readStream.option("skipChangeCommits", "true").table("system.billing.usage")

既知の問題

  • 新しい列はいつでも既存のシステム テーブルに追加できます。 固定スキーマに依存するクエリは、新しい列が導入されると中断する可能性があります。 既存の列は変更または削除されません。 システム テーブル データを別のターゲット テーブルに書き込む場合は、 スキーマの進化を有効にすることを検討してください。
  • リアルタイム監視はサポートされません。 データは 1 日を通して更新されます。 最近のイベントのログが表示されない場合は、後で確認してください。
  • __internal_logging システム テーブル スキーマでは、外部モデルとプロビジョニングされたスループット ワークロードに対して AI ゲートウェイ対応推論テーブルを使用したペイロード ログがサポートされます。 このスキーマはアカウント管理者に表示されますが、有効にすることはできません。顧客のワークフローには使用しないでください。
  • システム テーブルを有効にするには、システム テーブル BLOB ストレージ エンドポイントへのネットワーク アクセスを許可することが必要な場合があります。 すべてのリージョンのシステム テーブルのストレージ エンドポイントの一覧を表示するには、「 ストレージ エンドポイントの IP アドレス」を参照してください。
  • システム スキーマ system.operational_datasystem.lineage は非推奨であり、空のテーブルが含められます。