Databricks クリーンルームで出力テーブルを作成して操作する
プレビュー
この機能はパブリックプレビュー段階です。
この記事では、ノートブックの実行によって生成され、ノートブック ランナーの Unity Catalog メタストアに共有される一時的な読み取り専用テーブルである出力テーブルについて説明します。 この記事では、ノートブックを使用して出力テーブルを作成する方法と、共同作業者が Unity Catalog メタストアでこれらの出力テーブルを読み取る方法について説明します。
出力テーブルの概要
出力テーブルを使用すると、クリーンルームで実行されるノートブックの出力を Unity Catalog メタストアの出力カタログに一時的に保存でき、ノートブックを自分で実行できないチームのメンバーにデータを提供できます。 Databricks ジョブを使用して、ノートブックを実行したり、出力テーブルでタスクを実行したりすることもできます。 出力テーブルを クリーンルーム ノートブック タスク タイプおよびタスク値のサポートと組み合わせることで、クリーンルーム ノートブックに依存する複雑なワークフローを作成できます。
出力テーブルは読み取り専用です。
ノートブックを実行する特定のプリンシパル (ユーザー、グループ、またはサービスプリンシパル) のみが、出力テーブルへのデフォルト読み取りアクセス権を持ちます。 書き込みアクセス権はありません。 メタストア管理者は、標準の Unity Catalog 特権を使用して、Databricks アカウント内の他のプリンシパルに読み取りアクセス権を付与できます。
出力テーブルは、中央のクリーンルームのデフォルトの保管場所に30日間保存され、Delta Sharingを使用してコラボレーターのメタストアに共有されます。 出力テーブルを 30 日を超えて保持する場合は、そのテーブルをローカルストレージにコピーする必要があります。
ノートブックを実行するたびに、出力カタログに新しいスキーマが作成されます。 新しい実行では、既存の出力テーブルを追加できません。
重要
出力テーブルは、中央のクリーンルームが AWS でホストされている場合にのみサポートされます。 ただし、AWS、Azure、Google クラウドの 3 つすべてのクラウドのDatabricksで作業している共同作業者は、出力テーブルを作成するノートブックを共有し、共有ノートブックの実行時に生成される出力テーブルを読み取ることができます。Google Cloudのコラボレーターは、クリーンルーム プライベート プレビューの参加者である必要があります。
出力テーブルの作成
出力テーブルを作成するには、3 部構成のテーブル名前空間のパラメーター cr_output_catalog
と cr_output_schema
を使用します。 ノートブックを実行するたびに、新しいスキーマが生成されます。
次の例では、ノートブックセルは、collaborator.advertiser.profiles
テーブルとcreator.publisher.profiles
テーブルの両方に Eメール アドレスが表示されるユーザーをリストする、collborator の出力カタログに overlapping_users
という出力テーブルを作成します。
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
出力テーブルの読み取り
出力テーブルは、ノートブック ランナーのメタストア内の共有カタログに表示されます。 カタログ エクスプローラーの [カタログ ] ウィンドウでは、 共有 カタログ リストに表示されます。
出力テーブルの読み取りは、Unity Catalog 内の他のテーブルの読み取りと似ています。 テーブルに SELECT
、共有出力カタログに USE CATALOG
、自動生成されたスキーマに USE SCHEMA
する必要があります。 テーブルを作成したノートブックを実行したユーザーには、デフォルトでこれらのアクセス許可があります。
始める前に
このセクションでは、出力テーブルを読み取るためのクラウド、構成、およびコンピュートの要件について説明します。
クラウドの要件
出力テーブルをサポートするには、中央のクリーンルームが AWS されている必要がありますが、collaborator ワークスペースは、 AWS、 Azure、Google クラウドの 3 つのクラウドのいずれかに配置できます。 Google クラウド コラボレーターは、クリーンルーム プライベート プレビューの参加者である必要があります。
コンピュートの要件
出力テーブルに対するクエリには、サーバレス コンピュートが必要です。 Connect to サーバレス コンピュートを参照してください。
ノートブックを実行する
出力カタログに共有出力テーブルを生成するには、クリーンルームへのアクセス権を持つユーザーがノートブックを実行する必要があります。 クリーンルームの「実行 ノートブック」を参照してください。ノートブックを実行するたびに、新しい出力スキーマとテーブルが作成されます。
ヒント
Databricks ジョブを使用してノートブックを実行し、出力テーブルでタスクを実行して、複雑なワークフローを実現できます。 「Databricks Workflows を使用して クリーンルーム ノートブックを実行する」を参照してください。
出力テーブルの検索と表示
出力テーブルを作成するノートブックを実行したユーザーは、 クリーンルーム UI のノートブック 実行履歴ページと実行詳細ページで出力テーブルへのリンクを見つけることができます。 どちらの場合も、リンクは [出力スキーマ ] フィールドにあります。 クリーンルーム・ノートブックの実行のモニターを参照してください。
実行履歴:
実行の詳細:
出力カタログは、Catalog Explorer の [Catalog] ペインの [Shared catalog] リストでも確認できます。