ノートブックの結果の保存場所を構成する

組織のプライバシー要件によって、一部のノートブック コマンドの結果が保存される Databricks で管理されたコントロール プレーンの既定の場所ではなく、ユーザーのクラウド アカウント内のワークスペース ストレージ アカウントにすべての対話型ノートブックの結果を保存することが求められる場合があります。

ノートブックのコマンド出力は、ノートブックの実行方法に応じて異なる方法で保存されます。

既定では、ノートブックで [実行] をクリックしてノートブックを対話形式で実行すると、次のようになります。

  • 結果が小さい場合は、ノートブックのコマンドの内容とメタデータと共に Azure Databricks コントロール プレーンに保存されます。
  • 大きな結果は、Azure サブスクリプションのワークスペース ストレージ アカウントに格納されます。 Azure Databricks によって、ワークスペース ストレージ アカウントが自動的に作成されます。 Azure Databricks では、ワークスペース システム データとワークスペースの DBFS ルートにこのストレージ領域が使用されます。 ノートブックの結果は、ユーザーがアクセスできないワークスペース システム データ ストレージに保存されます。 「ワークスペース ストレージ アカウント」をご覧ください。

ジョブをスケジュールするか、[ジョブ] ページで [今すぐ実行] をクリックして、ノートブックをジョブとして実行すると、ユーザーのアカウント内のワークスペース ストレージ アカウントにすべての結果が格納されます。

結果のサイズに関係なく、すべての対話型ノートブックの結果をご自分のクラウド アカウントに保存するようにワークスペースを構成できます。

対話型ノートブックの結果の保存場所を構成する

すべての対話型ノートブックの結果を、コントロール プレーンではなく、Azure サブスクリプションに保存するようにワークスペースを構成できます。 この機能は、[管理者設定] ページまたは REST API を使用して有効にすることができます。 この構成は、ジョブとして実行されるノートブックには影響しません。その結果は、既定で Azure サブスクリプションに既に保存されています。

次の点に留意してください。

  • この構成の変更は、新しい結果に対してのみ有効です。 既存のノートブックの結果は移動されません。
  • グラフの列名など、結果に関する一部のメタデータは、引き続きコントロール プレーンに保存されます。
  • ご利用のクラウド プロバイダーでストレージ コストの増加が発生する可能性があります。
  • 結果の読み取りと書き込みを行うときに、ネットワークと IO の待機時間が増加する可能性があります。

[管理者設定] ページを使用して、すべてのノートブックの結果をアカウントに保存する

ワークスペース管理者として:

  1. [設定] ページに移動します。
  2. [セキュリティ] タブをクリックします。
  3. [Store interactive notebook results in customer account] (対話型ノートブックの結果を顧客アカウントに保存する) トグルをクリックします。

REST API を使用して、すべてのノートブックの結果をアカウントに保存する

REST API を使用して自分の Azure サブスクリプションにすべてのノートブックの結果を保存するようにワークスペースを構成するには:

  • ワークスペースの管理者である必要があります。
  • 個人用アクセス トークンが必要です。 以下の手順は、curl コマンドで -n オプションを使用できるように、個人用アクセス トークンを使用して .netrc ファイルを構成していることを前提としています。 詳細については、上記の記事を参照してください。

現在の設定を取得するには、GET /workspace-conf エンドポイントを呼び出し、keysstoreInteractiveNotebookResultsInCustomerAccount に設定します。

curl -n --request GET \
  'https://<databricks-instance>/api/2.0/workspace-conf?keys=storeInteractiveNotebookResultsInCustomerAccount'

ワークスペースで対話型ノートブックの結果をご自分の Azure サブスクリプションに保存できるようにするには、PATCH /workspace-conf エンドポイントを呼び出し、要求本文で storeInteractiveNotebookResultsInCustomerAccounttrue に設定します。

curl -n --request PATCH \
 'https://<databricks-instance>/api/2.0/workspace-conf' \
 --header 'Content-Type: text/plain' \
 --data-raw '{
    "storeInteractiveNotebookResultsInCustomerAccount": "true"
}'

この機能を無効にするには、同じフラグを false に設定します。

curl -n --request PATCH \
  'https://<databricks-instance>/api/2.0/workspace-conf' \
 --header 'Content-Type: text/plain' \
 --data-raw '{
    "storeInteractiveNotebookResultsInCustomerAccount": "false"
}'