次の方法で共有


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

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

システム テーブルとは?

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

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

要件

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

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

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

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

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

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

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

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

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

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

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

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

marketplace スキーマは手動で有効にする必要があります。 その他のスキーマは既定で有効になります。

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

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

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

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

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

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

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

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

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

各テーブルには、無料のデータ保持期間があります。 保持期間の延長については、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 は非推奨であり、空のテーブルが含められます。