Databricksファイルシステム(DBFS)とは

Databricksファイルシステム(DBFS)とは、Databricksワークスペースにマウントされた分散ファイルシステムで、Databricksクラスターで使用できます。DBFSは、UNIXライクなファイルシステム呼び出しをネイティブのクラウドストレージAPI呼び出しにマッピングする、スケーラブルなオブジェクトストレージを抽象化したものです。

注:

Databricks ワークスペースは、既定のユーザーがアクセスできる DBFSルート ボリュームを使用してデプロイされます。 Databricks では、この場所に運用データを格納しないことをお勧めします。

DBFSで何ができるのか

DBFSは、クラウドオブジェクトストレージURIを相対パスにマッピングすることで利便性を提供します。

  • クラウド固有のAPIコマンドの代わりにディレクトリとファイルのセマンティクスを使用して オブジェクトストレージを操作 できます。

  • クラウド オブジェクトの保存場所を マウント して、ストレージ資格情報を Databricks ワークスペースのパスにマップできます。

  • ファイルをオブジェクトストレージに永続化するプロセスを簡素化し、クラスターの終了時に仮想マシンとアタッチされたボリュームストレージを安全に削除できるようにします。

  • クラスター初期化のためのinitスクリプト、JAR、ライブラリ、設定を格納する便利な場所を提供します。

  • OSSディープラーニングライブラリを使用したモデルのトレーニング中に作成されたチェックポイントファイルの便利な場所を提供します。

注:

DBFS は、FUSE の Databricks 実装です。 「 Databricks でのファイルの操作」を参照してください。

クラウドベースのオブジェクトストレージ内のファイルを操作する

DBFSには、クラウドオブジェクトストレージ内のファイルを操作するためのオプションが数多く用意されています。

オブジェクトストレージをマウントする

オブジェクトストレージをDBFSにマウントすると、オブジェクトストレージ内のオブジェクトに、ローカルファイルシステム上にあるかのようにアクセスできます。マウントには、ストレージへのアクセスに必要なHadoop設定が保存されるため、コード内やクラスター構成時にこれらの設定を指定する必要はありません。

詳細については、「Databricksへのクラウドオブジェクトストレージのマウント」を参照してください。

DBFSルートとは

DBFSルートは、Databricksワークスペースのデフォルトのストレージロケーションで、Databricksワークスペースを含むクラウドアカウントにおけるワークスペース作成の一部としてプロビジョニングされます。Databricks Filesystemのルート設定とデプロイメントの詳細については、「ワークスペースデプロイ用のS3バケットを作成する」を参照してください。DBFSルート内のデータの保護に関するベストプラクティスについては、「DBFSルートの操作に関する推奨事項」を参照してください。

Databricksのユーザーの中には、DBFSルートを「DBFS」と呼ぶ人もいます。「DBFS」はクラウドオブジェクトストレージ内のデータを操作するために使用されるファイルシステムであり、「DBFSルート」はクラウドオブジェクトストレージのロケーションであることを区別することが重要です。DBFSルートの操作にはDBFSが使用されますが、この2つの概念は別個のものであり、DBFSにはDBFSルート以外にも多くのアプリケーションがあります。

DBFSルートには、ワークスペースのユーザーが実行するさまざまなアクションのデフォルトとして機能する特別なロケーションがいくつか含まれています。詳しくは、「デフォルトでDBFSルートに含まれるディレクトリ」を参照してください。

DBFSはUnity Catalogとどのように連携するのか

Unity Catalogでは、外部ロケーションとマネージドストレージの資格情報の概念が追加され、組織がクラウドオブジェクトストレージ内のデータに最小限の特権アクセスを提供するプロセスをサポートします。Unity Catalogでは、マネージドテーブル用の新しいデフォルトのストレージロケーションも提供されます。一部のセキュリティ構成では、Unity Catalogで管理されるリソースとDBFSの両方に直接アクセスできます。Databricksは、DBFSとUnity Catalogの使用に関する推奨事項をまとめました。