ワークスペース ファイルとは
ワークスペース ファイルは、 Databricks ワークスペース ファイル システムに格納され、管理されるファイルです。 ワークスペース ファイルは、ほぼすべての種類のファイルです。一般的な例は次のとおりです。
- ノートブック (
.ipynb
) - ソース ノートブック (
.py
、.sql
、.r
、.scala
) - SQL クエリ (
.dbquery.ipynb
) - ダッシュボード(
.lvdash.json
) - アラート (
.dbalert.json
) - Pythonファイル(
.py
)カスタムモジュールで使用されるファイル - YAML 構成 (
.yaml
または.yml
) - Markdown (
.md
) ファイル、README.md
- テキストファイル(
.txt
)またはその他の小さなデータファイル(.csv
) - ライブラリ (
.whl
,.jar
) - ログファイル (
.log
)
Genie spaces とエクスペリメントをワークスペース ファイルにすることはできません。
ファイルの操作に関する推奨事項については、 ボリューム内のファイルおよびワークスペース ファイルに関する推奨事項を参照してください。
Databricks ワークスペース ファイル ツリーには、"Databricks Git フォルダー" という 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 以降でのみワークスペースファイルとしてサポートされます。
- クエリ、アラート、およびダッシュボードは、 Databricks Runtime 16.4 以降、 およびサーバレス環境 2 以降でのみワークスペース ファイルとしてサポートされます。 また、これらのワークスペース ファイルの名前を変更することはできません。
- ノートブックとファイルのみが、
%sh ls
などのファイルシステムコマンドを使用した表示と編集をサポートします。 dbutils.fs
コマンドを使用してワークスペース ファイルにアクセスすることは、サーバレス コンピュートではサポートされていません。ノートブックの%sh
セルを使用するか、サーバレス コンピュートでノートブックを実行する場合は、Python のshutil
などの言語固有のコマンドを使用します。
ファイルサイズの制限
- ワークスペースのファイルサイズは 500MB に制限されています。 この制限を超えるファイルをダウンロードまたは作成しようとする操作は失敗します。
ファイルアクセス権限の制限
/Workspace
未満のフォルダ内のファイルへのアクセス権は、インタラクティブコンピュートの場合は36時間後、ジョブの場合は30日後に有効期限が切れます。Databricks は、/ワークスペース ファイルへのアクセスが必要な場合は、ジョブとして長時間の実行を実行することをお勧めします。
ワークスペース ファイルを有効にする
Databricksワークスペースでノートブック以外のファイルのサポートを有効にするには、/api/2.0/workspace-conf を呼び出します ノートブックまたは Databricks ワークスペースにアクセスできるその他の環境からの REST API。 ワークスペース ファイルはデフォルトで 有効になっています 。
Databricks ワークスペースでノートブック以外のファイルのサポートを有効または無効にするには、 /api/2.0/workspace-conf
を呼び出し、 enableWorkspaceFileSystem
キーの値を取得します。 true
に設定されている場合、ノートブック以外のファイルはワークスペースで既に有効になっています。
次の例は、ノートブックからこの API を呼び出して、ワークスペース ファイルが無効になっているかどうかを確認し、無効になっている場合は再度有効にする方法を示しています。