ワークスペース ファイルとは
ワークスペース ファイルは、Databricks ワークスペース ファイル ツリー内のファイルであり、次に示す種類のいずれにも該当しません。
- クエリー
- ダッシュボード
- Genie Space
- エクスペリメント
これらの除外されたタイプ以外のワークスペース ファイルは、任意のファイルの種類にすることができます。 一般的な例は次のとおりです。
.ipynb
ノートブック- ソース ノートブック (拡張機能
.py
、.sql
、.r
、および.scala
.py
カスタムモジュールで使用されるファイル.md
ファイル(README.md
.csv
またはその他の小さなデータファイル.txt
ファイル.whl
ライブラリ- ログファイル
ファイルの操作に関する推奨事項については、 ボリューム内のファイルおよびワークスペース ファイルに関する推奨事項を参照してください。
Databricks ワークスペース ファイル ツリーには、"Databricks Git フォルダー" という Git リポジトリにアタッチされたフォルダーを含めることができます。 ファイルタイプのサポートには、いくつかの追加の制限があります。 Git フォルダー (旧称 "Repos") でサポートされているファイルの種類の一覧については、「 Git フォルダーでサポートされているアセットの種類」を参照してください。
ワークスペース ファイルは、 Databricks Runtime バージョン 11.2 の デフォルト によってどこでも有効になります。 本番運用ワークロードの場合は、 Databricks Runtime 11.3 LTS 以上を使用してください。 この機能にアクセスできない場合は、ワークスペース管理者に問い合わせてください。
ワークスペース ファイルでできること
Databricksは、組み込みのファイルエディターなど、多くの種類のワークスペースファイルに対してローカル開発と同様の機能を提供します。すべてのファイルタイプやすべてのユースケースがサポートされているわけではありません。
ワークスペースファイルへのアクセスを作成、編集、管理するには、ノートブックの操作で使い慣れたパターンを使用します。ワークスペースファイルからのライブラリのインポートには、ローカル開発と同様の相対パスを使用できます。詳細については、次を参照してください。
ワークスペースファイルに格納されたinitスクリプトは、特別な動作をします。 ワークスペースファイルを使用して、initスクリプトを任意の Databricks Runtime バージョンに保存および参照できます。 「ワークスペースファイルへのinitスクリプトの保存」を参照してください。
Databricks Runtime 14.0 以降では、ローカルで実行されるコードのデフォルト カレント ワーキング ディレクトリ (CWD) は、実行されているノートブックまたはスクリプトを含むディレクトリです。これは、Databricks Runtime 13.3 LTS 以下からの動作の変更です。 「デフォルトの現在の作業ディレクトリとは」を参照してください。
制限
- ワークフローで リモート Git リポジトリにあるソース コードを使用している場合、現在のディレクトリに書き込んだり、相対パスを使用して書き込んだりすることはできません。 他のロケーション オプションにデータを書き込みます。
- ワークスペース ファイルに保存するときに
git
コマンドを使用することはできません。 ワークスペース ファイルでは、.git
ディレクトリの作成は許可されていません。 - Sparkエグゼキューター (
spark.read.format("csv").load("file:/Workspace/Users/<user-folder>/data.csv")
など) を使用したワークスペース ファイルからの読み込みは、 サーバレス コンピュート ではサポートされていません。 - エグゼキューターはワークスペースファイルに書き込むことができません。
- シンボリックリンクは、
/Workspace
ルートフォルダの下のターゲットディレクトリ(os.symlink("/Workspace/Users/someone@example.com/Testing", "Testing")
など)でのみサポートされます。 - ワークスペースファイルは、Databricks Runtime14.2 以前の 標準アクセス モード を使用したクラスターの ユーザー定義関数 (UDF) からアクセスできません。
- ノートブックは、 Databricks Runtime 16.2 以降、 およびサーバレス環境 2 以降でのみワークスペースファイルとしてサポートされます。
- ノートブックとファイルのみが、
%sh ls
などのファイルシステムコマンドを使用した表示と編集をサポートします。 dbutils.fs
コマンドを使用してワークスペース ファイルにアクセスすることは、サーバレス コンピュートではサポートされていません。ノートブックの%sh
セルを使用するか、サーバレス コンピュートでノートブックを実行する場合は、Python のshutil
などの言語固有のコマンドを使用します。
ファイルサイズの制限
- ワークスペースのファイルサイズは 500MB に制限されています。 この制限を超えるファイルをダウンロードまたは作成しようとする操作は失敗します。
ファイルアクセス権限の制限
/Workspace
未満のフォルダ内のファイルへのアクセス権は、インタラクティブコンピュートの場合は36時間後、ジョブの場合は30日後に有効期限が切れます。Databricks は、/ワークスペース ファイルへのアクセスが必要な場合は、ジョブとして長時間の実行を実行することをお勧めします。
ワークスペース ファイルを有効にする
Databricksワークスペースでノートブック以外のファイルのサポートを有効にするには、/api/2.0/ワークスペース-conf を呼び出します ノートブックまたは Databricks ワークスペースにアクセスできるその他の環境からの REST API。 ワークスペース ファイルはデフォルトで 有効になっています 。
Databricks ワークスペースでノートブック以外のファイルのサポートを有効または無効にするには、 /api/2.0/workspace-conf
を呼び出し、 enableWorkspaceFileSystem
キーの値を取得します。 true
に設定されている場合、ノートブック以外のファイルはワークスペースで既に有効になっています。
次の例は、ノートブックからこの API を呼び出して、ワークスペース ファイルが無効になっているかどうかを確認し、無効になっている場合は再度有効にする方法を示しています。