次の方法で共有


Databricks Clean Rooms で出力テーブルを作成して操作する

このページでは、ノートブック実行によって生成され、ノートブック ランナーの Unity カタログ メタストアと共有される一時的な読み取り専用テーブルである出力テーブルについて説明します。 この記事では、ノートブックを使用して出力テーブルを作成する方法と、ランナーが Unity カタログ メタストアでこれらの出力テーブルを読み取る方法について説明します。

出力テーブルの概要

出力テーブルを使用すると、クリーン ルームで実行されているノートブックの出力を Unity カタログ メタストアの出力カタログに一時的に保存できます。ここで、ノートブック自体を実行できないチームのメンバーがデータを使用できるようにします。 Lakeflow ジョブを使用してノートブックを実行し、出力テーブルでタスクを実行することもできます。 Clean Room ノートブックのタスクの種類とタスク値のサポートと組み合わせて、出力テーブルを使用すると、クリーン ルーム ノートブックに依存する複雑なワークフローを作成できます。

出力テーブルは読み取り専用です。

ノートブックを実行する特定のプリンシパル (ユーザー、グループ、またはサービス プリンシパル) のみが、出力テーブルへの既定の読み取りアクセス権を持ちます。 書き込みアクセス権はありません。 メタストア管理者は、標準の Unity カタログ特権を使用して、Azure Databricks アカウント内の他のプリンシパルに読み取りアクセス権を付与できます。

出力テーブルは、中央のクリーンルームの既定の保存場所に30日間保存され、「Delta Sharing」を使用してランナーのメタストアと共有されます。 出力テーブルを 30 日以上保持する場合は、ローカル ストレージにコピーする必要があります。

ノートブックを実行するたびに、出力カタログに新しいスキーマが作成されます。 新しい実行では、既存の出力テーブルを追加できません。

3 つすべてのクラウド (AWS、Azure、Google Cloud) 上の Databricks のコラボレーターは、出力テーブルを作成するノートブックを共有でき、共有ノートブックの実行時に生成された出力テーブルを読み取ることができます。

出力テーブルを作成する

出力テーブルを作成するには、3 部構成のテーブル名前空間のパラメーター cr_output_catalogcr_output_schema を使用します。 ノートブックを実行するたびに、新しいスキーマが生成されます。

次の例では、ノートブック セルはランナーの出力カタログに overlapping_users という名前の出力テーブルを作成し、電子メール アドレスが collaborator.advertiser.profiles テーブルと creator.publisher.profiles テーブルの両方に表示されるユーザーを一覧表示します。

CREATE TABLE identifier(:cr_output_catalog || '.' || :cr_output_schema || '.overlapping_users') AS
SELECT collab_profiles.*
FROM collaborator.advertiser.profiles AS collab_profiles
JOIN creator.publisher.profiles AS creator_profiles
ON collab_profiles.email = creator_profiles.email

出力テーブルの読み取り

出力テーブルは、ノートブック ランナーのメタストアの共有カタログに表示されます。 カタログ エクスプローラー Catalog ペインで、 Shared カタログの一覧に表示されます。

出力テーブルの読み取りは、Unity カタログ内の他のテーブルを読み取るようなものです。 テーブルに SELECT 、共有出力カタログに USE CATALOG し、自動生成されたスキーマに USE SCHEMA する必要があります。 テーブルを作成したノートブックを実行したユーザーには、既定でこれらのアクセス許可があります。

クリーン ルームを削除すると、出力カタログからすべての出力テーブルと履歴データが削除されます。

始める前に

このセクションでは、出力テーブルを読み取るためのクラウド、構成、コンピューティングの要件について説明します。

共有出力カタログの要件

出力テーブルを読み取る前に、ユーザーはそれらを保持するカタログを作成する必要があります。 これは、クリーン ルームごとに 1 回だけ行う必要があります。 クリーン ルームの所有者は、既定で出力カタログの読み取りと管理を行う権限を持っています。

必要なアクセス許可: EXECUTE CLEAN ROOM TASK

  1. Azure Databricks ワークスペースで、[ データ] アイコンをクリックします。カタログ
  2. [ クリーン ルーム] > ボタンをクリックします。
  3. 一覧からクリーン ルームを選択します。
  4. 右側のウィンドウの Output で、[カタログの作成 ] をクリック
  5. Output カタログ名を入力するか既定値をそのまま使用します(<clean-room-name>_output)。

カタログ エクスプローラーの Catalog ペインの Shared カタログの一覧に出力カタログが表示されます。 参加する各クリーン ルームは、メタストアに 1 つの共有出力カタログを持つことができます。

コンピューティングの要件

出力テーブルに対するクエリには、サーバーレス コンピューティングが必要です。 「サーバーレス コンピューティングに接続する」を参照してください。

出力テーブルを読み取るために必要なアクセス許可

出力テーブルを作成したノートブックを実行したユーザーと、クリーン ルームの所有者は、既定で出力テーブルの読み取りと管理を行う権限を持っています。 他のすべてのユーザーには、次のアクセス許可が付与されている必要があります。

  • SELECT テーブルの
  • USE CATALOG 出力カタログの
  • USE SCHEMA 出力スキーマに対する

ノートブックを実行する

出力カタログに共有出力テーブルを生成するには、クリーン ルームにアクセスできるユーザーがノートブックを実行する必要があります。 「 クリーン ルームでノートブックを実行するを参照してください。 ノートブックを実行するたびに、新しい出力スキーマとテーブルが作成されます。

ヒント

Lakeflow ジョブを使用してノートブックを実行し、出力テーブルでタスクを実行し、複雑なワークフローを有効にすることができます。 「Lakeflow ジョブを使用してクリーン ルーム ノートブックを実行する」を参照してください。

出力テーブルを検索して表示する

出力テーブルを作成するノートブックを実行するユーザーは、ノートブックの実行履歴で出力テーブルへのリンクを見つけ、 Clean Rooms UI で詳細ページを実行できます。 どちらの場合も、リンクは Output スキーマ フィールドにあります。 Monitor のクリーン ルーム ノートブックの実行を参照してください。

実行履歴:

実行履歴の出力スキーマ リンク

実行の詳細:

実行の詳細の出力スキーマ リンク

出力カタログは、カタログ エクスプローラーの Catalog ペインの Shared カタログの一覧にも表示されます。

制限事項

出力テーブルの概要およびに記載されている要件に加えて出力テーブルには次の制限があります。

  • 出力テーブルは、出力テーブル機能がリリースされた後にクリーン ルームが作成された場合にのみサポートされます。
  • テーブルのみがサポートされています。 たとえば、ボリュームとビューは含まれません。
  • 各ノートブックでサポートできる出力テーブルの数には制限があります。 リソース制限に関するページを参照してください。