システムテーブルで使用状況を監視する
プレビュー
この機能は パブリック プレビュー段階です。 現在、この機能の使用に料金はかかりません。 将来的には、この使用量の一部で料金が発生する可能性があります。
この記事では、 Databricksのシステムテーブルの概念について説明し、システムテーブル データを最大限に活用するために使用できるリソースを紹介します。
システムテーブルとは何ですか?
システムテーブルは、system
カタログにあるアカウントの運用データを格納する、 Databricksがホストする分析ストアです。 システムテーブルは、アカウント全体の履歴を観察するために使用できます。
注:
system.information_schema
のドキュメントについては、 情報スキーマを参照してください。
要件
システムテーブルにアクセスするには、ワークスペースでUnity Catalogを有効にする必要があります。 詳細については、 「システムテーブル スキーマを有効にする」を参照してください。
利用可能なシステムテーブルは何ですか?
現在、 Databricks以下のシステムテーブルをホストしています:
テーブル |
説明 |
場所 |
ストリーミングをサポート |
保持 |
グローバルまたは地域のデータを含める |
---|---|---|---|---|---|
Databricks アカウント全体のすべての監査イベントの記録が含まれます。 使用可能な監査イベントの一覧については、「 監査ログのリファレンス」を参照してください。 |
|
はい |
365日間 |
ワークスペース レベルのイベントの地域別。 アカウント レベルのイベントの場合はグローバル。 |
|
Unity Catalogテーブルまたはパスの各読み取りまたは書き込みイベントのレコードが含まれます。 |
|
はい |
365日間 |
リージョナル |
|
Unity Catalog列の各読み取りまたは書き込みイベントのレコードが含まれます (ただし、ソースがないイベントは含まれません)。 |
|
はい |
365日間 |
リージョナル |
|
アカウント全体の課金利用の記録が含まれます。 各使用状況記録は、リソースの課金利用の 1 時間ごとの集計です。 |
|
はい |
365日間 |
グローバル |
|
SKU 価格の履歴ログ。 SKU 価格が変更されるたびにレコードが追加されます。 |
|
いいえ |
N/A |
グローバル |
|
リスティングの消費者インプレッションとファネルデータが含まれます。 |
|
はい |
365日間 |
リージョナル |
|
リスティングの完了した リクエストデータ または データ取得 イベントのコンシューマー情報が含まれます。 |
|
はい |
365日間 |
リージョナル |
注:
上記にリストされているもの以外にも、アカウントに他のシステムテーブルが表示される場合があります。 これらのテーブルは現在プライベート プレビュー段階にあり、デフォルトでは空になっています。 これらのテーブルのいずれかの使用にご興味がある場合は、Databricks アカウント チームにお問い合わせください。
システムテーブルスキーマを有効にする
システムテーブルはUnity Catalogによって管理されているため、システムテーブルを有効にしてアクセスするには、アカウントに少なくとも 1 つのUnity Catalog対応ワークスペースが必要です。 システムテーブルにはアカウント内のすべてのワークスペースのデータが含まれますが、Unity Catalog 対応のワークスペースからのみアクセスできます。
システムテーブルはスキーマ レベルで有効化されます。 システム スキーマを有効にすると、そのスキーマ内のすべてのテーブルが有効になります。 新しいスキーマがリリースされると、アカウント管理者はスキーマを手動で有効にする必要があります。
システムテーブルはアカウント管理者によって有効にされる必要があります。 SystemSchemas APIを使用してシステムテーブルを有効にすることができます。
システム スキーマの一覧表示 APIを使用して、アカウントで使用可能かつ有効になっているスキーマを表示します。 スキーマは、次のいずれかの状態になります。
state: AVAILABLE
: システム スキーマは使用できますが、まだ有効になっていません。state: EnableCompleted
: システムスキーマが有効になっており、カタログエクスプローラーに表示されます。
システム スキーマ API を有効にすると、スキーマが
system
カタログに追加されます。システム スキーマを無効にする APIを使用して、
system
カタログからスキーマを削除します。
システムテーブルへのアクセスを許可する
システムテーブルへのアクセスはUnity Catalogによって管理されます。 デフォルトにより、どのユーザーもシステムテーブルにアクセスできなくなります。 アクセス権を付与するには、メタストア管理者またはその他の特権ユーザーが、システム スキーマに対する USE
および SELECT
アクセス許可を付与する必要があります。 「Unity Catalog での権限の管理」を参照してください。
システムテーブルは読み取り専用であり、変更できません。
注:
アカウントが 2024 年 3 月 6 日以降に作成された場合、デフォルトではメタストア管理者が存在しない可能性があります。 詳細については、 Unity Catalogセットアップと管理」を参照してください。
システムテーブルにはアカウント内のすべてのワークスペースのデータが含まれていますか?
監査ログとリネージ テーブルには、同じクラウド リージョン内にデプロイされたアカウント内のすべてのワークスペースの運用データが含まれています。 課金システムテーブル ( system.billing.usage
) には、デプロイされているリージョンに関係なく、アカウント内のすべてのワークスペースのデータが含まれます。
システムテーブルにはUnity Catalogワークスペースからのみアクセスできますが、テーブルにはアカウント内のUnity Catalog以外のワークスペースの運用データも含まれます。
システムテーブルはどこにありますか?
アカウント内のシステムテーブルは、すべてのUnity Catalogメタストアに含まれる system
というカタログにあります。 system
カタログには、システムテーブルを含むaccess
やbilling
などのスキーマが表示されます。
注:
システムテーブル パブリック プレビュー中、 Databricksすべてのシステムテーブル データを保持します。
ストリーミング システムテーブルに関する考慮事項
システムテーブルへのアクセスはDelta Sharingによってサポートされています。 Delta Sharing を使用してストリーミングする場合は、次の点に注意してください。
システムテーブルでストリーミングを使用している場合は、
skipChangeCommit
オプションをtrue
に設定します。 これにより、システムテーブル内の削除によってストリーミングジョブが中断されることがなくなります。 「更新と削除を無視する」を参照してください。Trigger.AvailableNow
Delta Sharing ストリーミングではサポートされません。Trigger.Once
に変換されます。ストリーミング ジョブでトリガーを使用していて、ジョブが最新のシステムテーブル バージョンに追いついていない場合は、ジョブのスケジュールされた頻度を増やすことをDatabricks推奨します。