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

組織のプライバシー要件では、ノートブックコマンドの結果の一部が保存されているDatabricks管理コントロールプレーンのデフォルトのロケーションではなく、クラウドアカウントのルートS3ストレージバケットにすべての対話型ノートブックの結果を保存するよう求められる可能性があります。

ノートブックのコマンド出力の保存方法は、ノートブックの実行方法によって異なります。

デフォルトでは、ノートブックで [実行] をクリックしてノートブックを対話的に実行すると、以下のようになります。

  • 結果が小さい場合は、ノートブックのコマンド内容やメタデータとともにDatabricksのコントロールプレーンに保存されます。

  • 大きな結果は、AWSアカウントのワークスペースのルートS3ストレージバケットに保存されます。Databricksは、ワークスペースのシステムデータとワークスペースのDBFS ルートにこのバケットを使用します。ノートブックの結果は、ユーザーがアクセスすることのできない、バケットにおけるワークスペースのシステムデータ部分に保存されます。

  • プロット イメージとその他のバイナリ オブジェクトは、常に DBFS ルート FileStore 領域に個別に保存されます。

ジョブとしてノートブックを実行する場合、スケジューリングするか、ジョブページで 今すぐ実行 クリックすると、すべての結果がワークスペースのルートS3ストレージバケットに保存されます。

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

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

すべてのインタラクティブノートブックの結果をコントロールプレーンではなく AWS アカウントに保存するようにワークスペースを設定できます。 この機能は、管理設定ページまたはREST APIを使用して有効にできます。 この設定は、ジョブとして実行されるノートブックには影響しません。その結果は、デフォルトで AWS アカウントに既に保存されています。

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

  • この設定の変更は、新しい結果に対してのみ有効です。既存のノートブックの結果は移動しません。

  • グラフの列名など、結果に関する一部のメタデータは引き続きコントロールプレーンに保存されることに注意してください。

  • クラウドプロバイダーのストレージコストが増える可能性があります。

  • 結果の読み取りおよび書き込み時に、ネットワークおよびIOのレイテンシーが増加する可能性があります。

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

ワークスペース管理者としてログインし、以下を実行します。

  1. 設定ページに移動します。

  2. [セキュリティ]タブをクリックします。

  3. [インタラクティブ ノートブックの結果を顧客アカウントに保存]トグルをクリックします。

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

REST APIを使用してすべてのノートブックの結果がAWSアカウントに保存されるようにワークスペースを設定するには、以下の手順に従ってください。

  • この作業にはワークスペース管理者の権限が必要となります。

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

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

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

ワークスペースで対話型ノートブックの結果をAWSアカウントに保存できるようにするには、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"
}'