ノートブックの結果の保存場所を構成する
組織のプライバシー要件によって、一部のノートブック コマンドの結果が保存される Databricks で管理されたコントロール プレーンの既定の場所ではなく、ユーザーのクラウド アカウント内のワークスペース ストレージ アカウントにすべての対話型ノートブックの結果を保存することが求められる場合があります。
ノートブックのコマンド出力は、ノートブックの実行方法に応じて異なる方法で保存されます。
既定では、ノートブックで [実行] をクリックしてノートブックを対話形式で実行すると、次のようになります。
- 結果が小さい場合は、ノートブックのコマンドの内容とメタデータと共に Azure Databricks コントロール プレーンに保存されます。
- 大きな結果は、Azure サブスクリプションのワークスペース ストレージ アカウントに格納されます。 Azure Databricks によって、ワークスペース ストレージ アカウントが自動的に作成されます。 Azure Databricks では、ワークスペース システム データとワークスペースの DBFS ルートにこのストレージ領域が使用されます。 ノートブックの結果は、ユーザーがアクセスできないワークスペース システム データ ストレージに保存されます。 「ワークスペース ストレージ アカウント」をご覧ください。
ジョブをスケジュールするか、[ジョブ] ページで [今すぐ実行] をクリックして、ノートブックをジョブとして実行すると、ユーザーのアカウント内のワークスペース ストレージ アカウントにすべての結果が格納されます。
結果のサイズに関係なく、すべての対話型ノートブックの結果をご自分のクラウド アカウントに保存するようにワークスペースを構成できます。
対話型ノートブックの結果の保存場所を構成する
すべての対話型ノートブックの結果を、コントロール プレーンではなく、Azure サブスクリプションに保存するようにワークスペースを構成できます。 この機能は、[管理者設定] ページまたは REST API を使用して有効にすることができます。 この構成は、ジョブとして実行されるノートブックには影響しません。その結果は、既定で Azure サブスクリプションに既に保存されています。
次の点に留意してください。
- この構成の変更は、新しい結果に対してのみ有効です。 既存のノートブックの結果は移動されません。
- グラフの列名など、結果に関する一部のメタデータは、引き続きコントロール プレーンに保存されます。
- ご利用のクラウド プロバイダーでストレージ コストの増加が発生する可能性があります。
- 結果の読み取りと書き込みを行うときに、ネットワークと IO の待機時間が増加する可能性があります。
[管理者設定] ページを使用して、すべてのノートブックの結果をアカウントに保存する
ワークスペース管理者として:
- [設定] ページに移動します。
- [セキュリティ] タブをクリックします。
- [Store interactive notebook results in customer account] (対話型ノートブックの結果を顧客アカウントに保存する) トグルをクリックします。
REST API を使用して、すべてのノートブックの結果をアカウントに保存する
REST API を使用して自分の Azure サブスクリプションにすべてのノートブックの結果を保存するようにワークスペースを構成するには:
- ワークスペースの管理者である必要があります。
- 個人用アクセス トークンが必要です。 以下の手順は、
curl
コマンドで-n
オプションを使用できるように、個人用アクセス トークンを使用して.netrc
ファイルを構成していることを前提としています。 詳細については、上記の記事を参照してください。
現在の設定を取得するには、GET /workspace-conf
エンドポイントを呼び出し、keys
を storeInteractiveNotebookResultsInCustomerAccount
に設定します。
curl -n --request GET \
'https://<databricks-instance>/api/2.0/workspace-conf?keys=storeInteractiveNotebookResultsInCustomerAccount'
ワークスペースで対話型ノートブックの結果をご自分の Azure サブスクリプションに保存できるようにするには、PATCH /workspace-conf
エンドポイントを呼び出し、要求本文で storeInteractiveNotebookResultsInCustomerAccount
を true
に設定します。
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"
}'