メインコンテンツまでスキップ

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

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

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

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

important

Databricks File System (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 wheels (.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など、500MB未満の小さなファイルを保存します。

非常に大きなデータファイルは、クラウドサービスプロバイダーが決定した制限で保存します。

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

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

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

テーブル作成のサポート

ワークスペースファイルをロケーションとしてテーブルを作成することはできません。

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

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

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

  • ユーザーのホームディレクトリ (ワークスペース内のユーザーとサービスプリンシパルごとに 1 つ)
  • Gitフォルダ
  • 共有

ファイルは、ボリューム内のネストされたディレクトリに整理されます

「Unity Catalog のデータにアクセスする方法」を参照してください。

ファイル履歴

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

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