ボリューム内のファイルとワークスペースファイルに関する推奨事項

データまたはファイルをDatabricksにアップロードまたは保存するときに、 Unity Catalogボリュームまたはワークスペース ファイルを使用してこれらのファイルを保存することを選択できます。 この記事には、これらの場所を使用するための推奨事項と要件が含まれています。 ボリュームとワークスペース ファイルの詳細については、 「Unity Catalog ボリュームとは何ですか?」および「ワークスペース ファイルとは何ですか?」を参照してください。

Databricks では、Unity Catalog ボリュームを使用して、データ、ライブラリ、ビルド成果物を格納することをお勧めします。 ノートブック、SQL クエリ、およびコード ファイルをワークスペース ファイルとして保存します。 ワークスペース ファイル ディレクトリを Git フォルダーとして構成して、リモート Git リポジトリと同期できます。 「Databricks Git フォルダーの Git 統合」を参照してください。テスト シナリオで使用される小さなデータ ファイルは、ワークスペース ファイルとして格納することもできます。

以下の表は、ファイルの種類や機能のニーズに応じて、ファイルに関する具体的な推奨事項を示しています。

重要

Databricks ファイル システム (DBFS) もファイル ストレージとして使用できますが、すべてのワークスペース ユーザーが DBFS 内のファイルにアクセスできるため、推奨されません。 DBFS を参照してください。

ファイルの種類

次の表に、ファイルの種類のストレージの推奨事項を示します。 Databricks は、この表に例として示されているもの以外にも多くのファイル形式をサポートしています。

ファイルタイプ

推奨事項

ノートブックやクエリなどのDatabricksオブジェクト

ワークスペースファイルとして保存

Parquet ファイルや ORC ファイルなどの構造化データ ファイル

Unity Catalogボリュームに保存

テキスト ファイル ( .csv.txt ) や JSON ファイル ( .json ) などの半構造化データ ファイル

Unity Catalogボリュームに保存

画像ファイル(.png.svg)、オーディオファイル(.mp3)、ドキュメントファイル(.pdf.docx)などの非構造化データファイル

Unity Catalogボリュームに保存

アドホックまたは初期のデータ探索に使用される生データファイル

Unity Catalogボリュームに保存

運用データ (ログ ファイルなど)

Unity Catalogボリュームに保存

ZIPファイルなどの大きなアーカイブファイル(.zip)

Unity Catalogボリュームに保存

Python ファイル ( .py )、Java ファイル ( .java )、Scala ファイル ( .scala ) などのソース コード ファイル

該当する場合は、ノートブックやクエリなどの他の関連オブジェクトとともにワークスペース ファイルとして保存します。

Databricks では、これらのファイルのバージョン管理と変更追跡のために、これらのファイルをGit フォルダーで管理することを推奨しています。

Python ホイール ( .whl ) や JAR ファイル ( .jar ) などのビルド成果物とライブラリ

Unity Catalogボリュームに保存

構成ファイル

ワークスペース全体で必要な構成ファイルをUnity Catalogボリュームに保存しますが、それらがGitフォルダー内のプロジェクト ファイルである場合は、ワークスペース ファイルとして保存します。

機能の比較

次の表は、ワークスペース ファイルとUnity Catalog ボリュームの機能提供を比較したものです。

特徴量

ワークスペースファイル

Unity Catalogボリューム

ファイルアクセス

ワークスペース ファイルは同じワークスペース内でのみ相互にアクセスできます。

ファイルはワークスペース全体でグローバルにアクセスできます。

プログラムによるアクセス

ファイルには、以下を使用してアクセスできます。

ファイルには、以下を使用してアクセスできます。

Databricksアセットバンドル

デフォルトにより、ライブラリや、データベースやクエリなどのDatabricksオブジェクトを含むバンドル内のすべてのファイルが、ワークスペース ファイルとして安全にデプロイされます。 権限はバンドル設定で定義されます。

ライブラリがワークスペース ファイルのサイズ制限を超える場合、ボリューム内にすでに存在するライブラリを含めるようにバンドルをカスタマイズできます。 Databricks Asset Bundles ライブラリの依存関係を参照してください。

ファイルのアクセス許可レベル

ファイルがGit フォルダー内にある場合、権限は Git フォルダー レベルになります。それ以外の場合、権限はファイル レベルで設定されます。

アクセス許可はボリューム レベルにあります。

権限管理

権限はワークスペースACLによって管理され、含まれているワークスペースに制限されます。

メタデータと権限はUnity Catalog によって管理されます。 これらの権限は、カタログにアクセスできるすべてのワークスペースに適用されます。

外部ストレージマウント

外部ストレージのマウントには対応していません

外部ボリュームを作成して、外部ストレージ上の既存のデータセットを指すオプションを提供します。 Unity Catalogボリュームとは何ですか?」を参照してください。

UDFサポート

サポートされていない

UDF からの書き込みは、ボリューム FUSE を使用してサポートされます

ファイルサイズ

ノートブックと一緒に必要なソース コード ファイル ( .py.md.yml ) など、500 MB 未満の小さなファイルを保存します。

クラウド サービス プロバイダーによって決定された制限内で非常に大きなデータ ファイルを保存します。

アップロード & ダウンロード

最大10MBのアップロードとダウンロードをサポートします。

最大5GBのアップロードとダウンロードをサポートします。

テーブル作成のサポート

ワークスペース ファイルを場所としてテーブルを作成することはできません。

COPY INTO 、Autoloader、または「Databricks レイクハウスへのデータの取り込み」で説明されているその他のオプションを実行することで、ボリューム内のファイルからテーブルを作成できます。

ディレクトリ構造とファイルパス

ファイルは入れ子になったディレクトリに整理され、それぞれに独自の権限モデルがあります。

  • ユーザホームディレクトリ(各ユーザに1つずつ)とワークスペース内のサービスプリンシパル

  • Gitフォルダ

  • 共有

ファイルは、ボリューム内の入れ子になったディレクトリに編成されます

「Unity Catalog のデータにアクセスするにはどうすればいいですか?」を参照してください。

ファイル履歴

ワークスペース内のGit フォルダーを使用して、ファイルの変更を追跡します。

監査ログが利用可能です。