Configure notebook result storage location | Databricks on AWS [2023/6/1時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
あなたの組織のプライバシー要件が、ノートブックコマンドの結果が格納されるDatabricks管理のコントロールプレーンのデフォルトロケーションではなく、お使いのクラウドアカウントのルートS3ストレージバケットにすべてのインタラクティブノートブックの実行結果を格納することを求めるかもしれません。
ノートブックコマンドのアウトプットは、ノートブックをどのように実行するのかによって格納場所が異なります。
デフォルトでは、ノートブックでRunをクリックしてインタラクティブにノートブックを実行した際:
- 結果が小規模な場合には、それらはDatabricksのコントロールプレーンにノートブックのコマンドのコンテンツとメタデータとともに格納されます。
- より大きな結果はお使いのAWSアカウントにあるワークスペースのルートS3ストレージバケットに格納されます。DatabricksはこのバケットをワークスペースのシステムデータとワークスペースのDBFSルートのために使用します。ノートブックの実行結果はこのバケットの一部のワークスペースシステムデータに格納されますが、これにはユーザーはアクセスすることはできません。
- プロットの画像やその他のバイナリーオブジェクトは、DBFSルートのFileStore領域に常に格納されます。
スケジューリングあるいはJobsページでRun Nowをクリックして、ジョブとしてノートブックを実行した際には、すべての結果はお使いのアカウントのルートS3ストレージバケットに格納されます。
結果のサイズに関係なく、インタラクティブノートブックのすべての実行結果をお使いのクラウドアカウントに格納するように、ワークスペースを設定することができます。
インタラクティブノートブックの実行結果ストレージロケーションの設定
コントロールプレーンではなく、お使いのAWSアカウントにインタラクティブノートブックのすべての実行結果を格納するようにワークスペースを設定することができます。管理者設定ページあるいはREST APIを用いてこの機能を有効化することができます。この設定は、デフォルトでお使いのAWSアカウントに格納されるジョブとしてのノートブックの実行結果には影響を与えません。
以下の点に留意してください:
- この設定変更は新規の結果にのみ影響します。既存のノートブックの実行結果は移動されません。
- 図のカラム名のような結果に関するいくつかのメタデータはコントロールプレーンに格納され続けます。
- お使いのクラウドプロバイダーにおけるストレージコストが増加する場合があります。
- 結果の読み書きにおいて、ネットワークやIOのレーテンシーが増加する場合があります。
管理者設定ページを用いてお使いのアカウントにすべてのノートブック実行結果を格納
ワークスペース管理者として:
- 管理者設定ページに移動します。
- Workspace Settingsタブをクリックします。
- AdvancedセクションでStore Interactive Notebook Results in Customer Accountトグルをクリックします。
- Confirmをクリックします。
REST APIを用いてすべてのノートブックの実行結果をお使いのアカウントに格納
REST APIを用いてお使いのAWSアカウントにすべてのノートブックの実行結果を格納するようにワークスペースを設定するには:
- ワークスペース管理者である必要があります。
-
パーソナルアクセストークンが必要です。以下の手順では、
curl
コマンドで-n
オプションを使用できるように、あなたのパーソナルアクセストークンが.netrc
ファイルに設定されていることを前提としています。詳細については上述の記事を参照下さい。
現在の設定を取得するには、GET /workspace-conf
エンドポイントを呼び出し、keys
にstoreInteractiveNotebookResultsInCustomerAccount
を設定します:
curl -n --request GET \
'https://<databricks-instance>../api/2.0/workspace-conf?keys=storeInteractiveNotebookResultsInCustomerAccount'
ワークスペースですべてのインタラクティブノートブックの結果をお使いのAWSアカウントに保存するようにするには、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"
}'