クリーンルームでノートブックを実行する

この記事では、クリーンルームでノートブックを実行する方法について説明します。 ノートブックは、共同作業者が共同でデータ分析を実行するために使用するインターフェースです。

クリーン ルームにノートブックを追加する方法については、「クリーン ルームを作成する」を参照してください。

始める前に

クリーン ルームでノートブックを実行するには、次の条件を満たす必要があります。

  • クリーンルームの所有者、またはクリーンルームに対する EXECUTE CLEAN ROOM TASK 権限を持っている。

  • ノートブックを作成しなかった共同作業者。 ノートブックの作成者はノートブックを実行できません。 これにより、両当事者によるノートブックの暗黙的な承認が強制されます。

注:

作成者は、Databricks アカウント内のクリーン ルームの所有者として自動的に割り当てられます。 共同作業者の組織のメタストア管理者には、Databricks アカウント内のクリーン ルームの所有権が自動的に割り当てられます。 オーナー権限を譲渡できます。 Unity Catalogオブジェクトの所有権の管理」を参照してください。

クリーンルームでノートブックを実行する

クリーン ルームでノートブックを実行するには、カタログ エクスプローラーを使用する必要があります。

  1. Databricks ワークスペースで、カタログアイコンカタログをクリックします。

  2. [カタログ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[Clean Rooms] を選択します。

    または、[ クイックアクセス ]ページで、[ クリーンルーム]> ボタンをクリックします。

  3. リストからクリーンルームを選択します。

  4. [ノートブック]で、ノートブックをクリックしてプレビュー モードで開きます。

  5. 実行ボタンをクリックします。

    他の共同作業者が共有したノートブックのみを実行できます。

  6. (オプション) 「パラメーターを指定してノートブック を実行」ダイアログで、「 + 追加 」をクリックして、パラメーター値をノートブック ジョブ・タスクに渡します。

  7. 確認のチェックボックスをクリックします。

  8. 実行をクリックします。

  9. 実行の進行状況を表示するには、 「詳細を表示」をクリックします。

    あるいは、このページの「実行」に移動するか、ワークスペースのサイドバーの「ワークフロー」をクリックして「ジョブ実行」タブに移動すると、実行の進行状況を確認できます。

  10. ノートブックの実行結果を表示します。

    実行が完了すると、ノートブックの結果が表示されます。 過去の実行を表示するには、 「実行」に移動し、 「開始時刻」列のリンクをクリックします。

注:

cr_creator_input_catalog パラメーターと cr_collaborator_input_catalog パラメーターは、ランタイム時に自動的にクリーンルーム ノートブックに渡されます。これらのパラメーターは、サンプル・テーブルを使用したローカル・テストに使用できます。 ジョブ タスクのパラメーターの詳細については、「 ジョブのパラメーター化」を参照してください。

出力テーブルを使用したノートブック出力の共有

出力テーブルは、ノートブックの実行によって生成され、ノートブック ランナーのメタストアに共有される一時的な読み取り専用テーブルです。 ノートブックが出力テーブルを作成すると、ノートブック ランナーは 出力カタログ でそのテーブルにアクセスし、ワークスペース内の他のユーザーと共有できます。 「Databricks クリーンルームでの出力テーブルの作成と操作」を参照してください。

クリーンルーム ノートブックを実行するためにDatabricksワークフローを使う

Databricks ジョブを使用してノートブックを実行し、出力テーブルでタスクを実行できるため、クリーンルームアセットを含む複雑なワークフローを構築できます。 特に、次のような機能により、次のようなワークフローが可能になります。

  • 「クリーンルーム ノートブック タスク」タイプでは、クリーンルーム ノートブックをワークフロー タスクとして選択して実行できます。ジョブ用クリーンルーム ノートブック タスクを参照してください。

  • ワークフロー開始ノートブック 実行は、他のワークフロー タスクで参照できる 出力テーブル を生成できます。 「Databricks クリーンルームでの出力テーブルの作成と操作」を参照してください。

  • ワークフローでは、ジョブ パラメーター値をクリーンルーム ノートブックに渡す タスク値 を使用するか、またはクリーンルーム ノートブック 出力をキャプチャしてその出力を他のワークフロー タスクに渡すことができます。 「タスク値を使用してタスク間で情報を渡す」を参照してください。

  • クリーンルーム出力スキーマ名は自動的に生成されます。 パラメーターに [ {{tasks.<your_task_name>.output.schema_name}} ] と [ {{tasks.<your_task_name>.output.catalog_name}} ] を含めると、ダウンストリーム ノートブック タスクで実行されるときに、クリーンルームからそれらの値を参照できます。 ノートブック タスクに移動し、[ パラメーター] で値を選択します。

たとえば、動的に生成された出力スキーマ名をタスク間で伝達するワークフローを作成するには、次の手順を実行します。

  1. タスク type クリーンルーム ノートブック のタスクを作成し、次のタスク値設定を含むノートブックを実行します。

    dbutils.jobs.taskValues.set(key="output_schema", value=dbutils.widgets.get("cr_output_schema"))
    
  2. 出力を処理するために、 output_schema 値を参照する後続のタスクを作成します。