ワークスペース ファイルとは

ワークスペース ファイルは、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 エージェントと実験をワークスペース ファイルにすることはできません。

ファイルの扱い方に関する推奨事項については、「ボリューム内のファイルおよびワークスペース ファイルに関する推奨事項」を参照してください。

Azure Databricks ワークスペース ファイル ツリーには、"Databricks Git フォルダー" という名前の Git リポジトリにアタッチされたフォルダーを含めることができます。 Git フォルダーには、いくつかの追加のファイルの種類の制限があります。 Git フォルダー (旧称 "Repos") でサポートされているファイルの種類の一覧については、Git フォルダーのサポートされているアセットの種類を参照してください。

重要

Databricks Runtime バージョン 11.2 では、ワークスペース ファイルはデフォルトですべての場所で有効になっています。 運用ワークロードでは、Databricks Runtime 11.3 LTS 以降を使用してください。 この機能にアクセスできない場合は、ワークスペース管理者に問い合わせてください。

ワークスペース ファイルでできること

Azure Databricksには、組み込みのファイル エディターなど、多くのワークスペース ファイルの種類のローカル開発に似た機能が用意されています。 すべてのファイルの種類のすべてのユース ケースがサポートされているわけではありません。

ノートブックの操作から使い慣れたパターンを使用して、ワークスペース ファイルへのアクセスを作成、編集、管理できます。 ローカル開発と同様に、ワークスペース ファイルからのライブラリ インポートには相対パスを使用できます。 詳細については、次のリンクを参照してください。

ワークスペース ファイルに格納されている init スクリプトには、特別な動作があります。 どの Databricks Runtime のバージョンにおいても、ワークスペース ファイルを使用して init スクリプトを格納および参照できます。 「ワークスペース ファイルに init スクリプトを格納する」を参照してください。

注意

Databricks Runtime 14.0以降では、ローカルで実行されるコードのデフォルト現在のワーキングディレクトリ(CWD)は、実行中のノートブックやスクリプトを含むディレクトリです。 これは、Databricks Runtime 13.3 LTS 以降の動作の変更です。 「既定の現在の作業ディレクトリとは?」を参照してください。

サーバーレスコンピュートでは作業ディレクトリが保証されていないため、ファイルを参照には絶対パスを使用します。 「サーバーレス コンピューティングの制限事項」を参照してください。

制限事項

  • ワークフローでリモート Git リポジトリにあるソース コードを使っている場合、現在のディレクトリに書き込んだり、相対パスを使って書き込んだりすることはできません。 ほかの場所オプションにデータを書き込んでください。
  • 標準的なGitフォルダでは、ワークスペースファイルに保存する際に git コマンドを使うことができず、 .git ディレクトリの作成も許可されていません。 Gitフォルダは GitのCLIアクセスがあり、標準 git コマンドをサポートします。 Git フォルダーが Git CLI アクセスを取得するタイミングを参照してください。
  • Executor はワークスペース ファイルに書き込めません。
  • シンボリック リンクは、/Workspaceなど、os.symlink("/Workspace/Users/someone@example.com/Testing", "Testing") ルート フォルダーの下にあるターゲット ディレクトリでのみサポートされます。
  • Databricks Runtime 14.2 以下の標準アクセス モードのクラスターでは、ワークスペース ファイルにユーザー定義関数 (UDF) からアクセスできません。
  • ノートブックは、Databricks Runtime 16.2 以降、およびサーバーレス環境 2 以降 ワークスペース ファイルとしてのみサポートされます。
  • Databricks Runtime 16.0 以降では、ノートブックを Python モジュールとしてインポートすることはできません。 代わりに、ノートブックの形式を変更するか、コードをインポートする場合は、ノートブックをPython ファイルにリファクタリングします。
  • クエリ、アラート、ダッシュボードは、Databricks Runtime 16.4 以降と サーバーレス環境 2 以降のワークスペース ファイルとしてのみサポートされます。 さらに、これらのワークスペース ファイルの名前を変更することはできません。
  • %sh lsなどのファイル システム コマンドを使用した表示と編集は、ノートブックとファイルでのみサポートされます。

ファイル サイズの制限

  • ワークスペース ファイルのサイズは 500 MB に制限されています。 この制限を超えるファイルをダウンロードまたは作成しようとすると失敗します。

ファイル アクセス許可の制限

/Workspaceのフォルダ内のファイルへのアクセス許可は、インタラクティブコンピュートの場合は36時間、ジョブの場合は30日後に期限切れとなります。 Databricks では、/Workspace ファイルへのアクセスが必要な場合、長時間実行される処理をジョブとして実行することを推奨しています。

30日を超えて継続的に実行されるジョブは、/Workspace 配下のファイルにアクセスできなくなります。 アクセスを維持するには、少なくとも30日に一度はジョブを再開してください。 これは リモートのGitリポジトリからソースコードを使用するジョブにも当てはまります。なぜならジョブは /Workspaceのパスからチェックアウト済みリポジトリを読み取るからです。

ワークスペース ファイルを有効にする

Databricks ワークスペースでノートブック以外のファイルのサポートを有効にするには、Databricks ワークスペースにアクセスできるノートブックまたは他の環境から /api/2.0/workspace-conf REST API を呼び出します。 ワークスペース ファイルは既定で有効です。

Databricks ワークスペースでノートブック以外のファイルのサポートを有効にする、または再び有効にするには、/api/2.0/workspace-conf を呼び出して enableWorkspaceFilesystem キーの値を取得します。 true に設定されている場合、ノートブック以外のファイルはワークスペースで既に有効になっています。

次の例は、ノートブックからこの API を呼び出して、ワークスペース ファイルが無効になっているかどうかを確認し、なっている場合は再び有効にする方法を示しています。

例: Databricks ワークスペース ファイルのサポートを再度有効にするためのノートブック

ノートブックを入手