What are workspace files? | Databricks on AWS [2023/4/21時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
ワークスペースファイルは、DatabricksワークスペースにおけるDatabricksノートブック以外の任意のファイルです。ワークスペースファイルは任意のファイルタイプとなります。一般的な例には以下のようなものがあります:
- カスタムモジュールで使用される
.py
ファイル。 -
README.md
のような.md
ファイル。 -
.csv
やその他の小規模なデータファイル。 -
.txt
ファイル。 - ログファイル。
Databricksでは、ビルトインファイルエディタをはじめとして、さまざまなワークスペースファイルタイプに対するローカルでの開発と同様の機能を提供します。すべてのファイルタイプに対するすべてのユースケースがサポートされている訳ではありません。例えば、インポートしたディレクトリやリポジトリに画像を含めることはできますが、ノートブックに画像を埋め込むことはできません。
ノートブックとのインタラクションの慣れ親しんだパターンを用いて、ワークスペースファイルの作成、編集、アクセス管理を行うことができます。ローカルでの開発と同じように、ワークスペースファイルからライブラリをインポートするために相対パスを使用することができます。詳細は以下をご覧ください:
- Workspace files basic usage
- プログラムでDatabricksワークスペースのファイルを操作する
- Work with Python and R modules
- Databricksノートブックを管理する
注意
ワークスペースファイルに格納されたinitスクリプトは特殊な挙動をします。Store init scripts in workspace filesをご覧ください。
ワークスペースファイルの有効化
Databricksランタイム11.2以降ではデフォルトでワークスペースファイルが有効化されます。Files in Repos(Reposにおけるファイルサポート)はDatabricksランタイム11.0以降ではデフォルトで有効化され、手動で無効化、有効化することができます。Reposにおけるファイルサポートの設定をご覧ください。
Databricksランタイムのバージョンに関係なく、initスクリプトを格納、参照するためにワークスペースファイルを活用することができます。Store init scripts in workspace filesをご覧ください。
Databricksランタイム8.4以降では、Databricksリポでノートブック以外のファイルを同期、インポート、読み込みすることができます。また、DatabricksのUIでファイルを参照、編集することができます。
Databricksランタイム11.2以降では、Databricksリポでプログラムからワークスペースファイルを書き込み、削除することができます。
重要
Files in Reposの有効化によって、ドライバーでのオペレーションにおける現在の作業ディレクトリは、コードを実行しているノートブックを格納しているディレクトリに変更され、リポ外のノートブックでワークスペースファイルを操作する際には挙動が異なり、デフォルトのカレント作業ディレクトリはドライバーのブロックストレージボリュームとなります。How to work with files on Databricksをご覧ください。
Reposにおけるファイルサポートの設定
Databricks Reposでノートブック以外のファイルを操作するには、Databricksランタイム8.4以上が稼働している必要があります。プログラムからワークスペースファイルを作成、削除するにはDatabricksランタイム11.2以降が稼働している必要があります。
Files in Reposのサポートが有効化されていない場合、Databricksレポの非ノートブックファイルは表示されますが、操作することができません。
管理者は以下のようにこの機能を有効化することができます:
- admin settings pageに移動します。
- Workspace settingsタブをクリックします。
- Reposセクションで、Files in Reposドロップダウンから選択肢を選択します。
すべての設定が適用されていることを確実にするために、ブラウザをリフレッシュし、クラスターを再起動する必要があります。
注意
最初にFiles in Reposを有効化すると、レポの非ノートブックファイルを同期するためにGitダイアログを開き、プルオペレーションを実行する必要がある場合があります。マージの競合がある場合には、競合している変更を取り消すか、新たなブランチに変更をプッシュするオプションを提供するダイアログが表示されます。
Reposでファイルが有効化されていることを確認
Files in Reposが有効化されているかどうかを確認するために、レポ内のノートブックで%sh pwd
コマンドを活用することができます。
- Files in Reposが有効化されていない場合、レスポンスは
/databricks/driver
となります。 - Files in Reposが有効化されていると、レスポンスは
/Workspace/Repos/<path to notebook directory>
となります。
Databricksコンテナサービスを使用しているクラスターからReposのファイルへのアクセス
Databricksランタイム11.3以降が稼働しているクラスターでDatabricksコンテナサービス(DCS)を使用していると、デフォルトでFiles in Reposを使用することができます。
dockerfileを設定することで、Databricksランタイム10.4LTSや9.1LTSでDCSのクラスターでReposのファイルにアクセスすることができます。希望するDatabricksランタイムバージョンのdockerfileに関しては以下を参照ください:
Databricksコンテナサービスによるコンテナのカスタマイズをご覧ください。