ストレージの探索とデータファイルの検索

この記事では、Unity Catalog ボリュームで管理されているディレクトリとデータ ファイルの検出と探索に焦点を当て、カタログ エクスプローラーを使用してボリュームを探索するための UI ベースの手順を含めます。 この記事では、ボリューム パスとクラウド URI を使用して、クラウドオブジェクトストレージ内のデータをプログラムで探索する例も示します。

Databricks では、ボリュームを使用してクラウドオブジェクトストレージ内のデータへのアクセスを管理することをお勧めします。 クラウドオブジェクトストレージ内のデータへの接続についての詳しい情報は、 データソースへの接続を参照してください。

すべての場所にあるファイルを操作する方法の完全なチュートリアルについては、「 Databricks でファイルを操作する」を参照してください。

重要

ワークスペース UI で [ファイル] を検索すると、ワークスペース ファイルとして格納されているデータ ファイルが見つかる場合があります。 Databricks では、ワークスペース ファイルを主にコード (スクリプトやライブラリなど)、initスクリプト、または構成ファイルに使用することをお勧めします。 理想的には、ワークスペース ファイルとして格納されるデータは、開発中のテストや QA などのタスクに使用される可能性のある小さなデータセットに制限する必要があります。 「ワークスペース ファイルとは」を参照してください。

ボリュームと従来のクラウドオブジェクト構成

ボリュームを使用してクラウドオブジェクトストレージ内のデータへのアクセスを管理する場合、ボリュームパスのみを使用してデータにアクセスでき、これらのパスはすべての Unity Catalog対応コンピュートで使用できます。 ボリュームを使用して Unity Catalogテーブルをバッキングするデータファイルを登録することはできません。 Databricksでは、Unity Catalogテーブルとして登録されている構造化データを操作するために、ファイルパスの代わりにテーブル名を使用することが推奨されています。 「 Unity Catalogによって管理されるデータのパスのしくみ」を参照してください。

クラウドオブジェクトストレージ内のデータへのアクセスを構成するために従来の方法を使用する場合、Databricks は従来のテーブル ACL アクセス許可に戻ります。 共有アクセスモードで構成されたSQLウェアハウスまたはコンピュートからクラウドURIを使用してデータにアクセスするユーザーには、 ANY FILE 権限が必要です。 「 Hive metastore テーブルアクセスコントロール (レガシー)」を参照してください。

Databricks には、クラウドオブジェクトストレージ内のファイルを一覧表示するためのいくつかの APIs が用意されています。 この記事のほとんどの例では、ボリュームの使用に焦点を当てています。 ボリュームなしで構成されたオブジェクト・ストレージ上のデータとの対話の例は、 URIを使用したファイルの一覧表示を参照してください。

ボリュームの探索

カタログエクスプローラーを使用して、ボリューム内のデータを探索し、ボリュームの詳細を確認できます。 読み取り権限のあるボリュームのみを表示できるため、この方法で検出されたすべてのデータを照会できます。

SQL を使用して、ボリュームとそのメタデータを表示できます。 ボリューム内のファイルを一覧表示するには、SQL、 %fs マジック コマンド、または Databricks ユーティリティを使用できます。 ボリューム内のデータを操作する場合は、Unity Catalog によって提供されるパスを使用しますが、これは常に次の形式です。

/Volumes/catalog_name/schema_name/volume_name/path/to/data

ボリュームの表示

次のコマンドを実行して、特定のスキーマ内のボリュームのリストを表示します。

SHOW VOLUMES IN catalog_name.schema_name;

SHOW VOLUMESを参照してください。

特定のスキーマのボリュームをカタログエクスプローラーで表示するには、以下の操作を行います。

  1. [カタログ アイコンカタログ] アイコンを選択します。

  2. カタログを選択します。

  3. スキーマを選択します。

  4. [ Volumes ] をクリックして、スキーマ内のすべてのボリュームを展開します。

注:

スキーマにボリュームが登録されていない場合、「 ボリューム」 オプションは表示されません。 代わりに、使用可能なテーブルの一覧が表示されます。

ボリュームの詳細を見る

次のコマンドを実行して、ボリュームを記述します。

DESCRIBE VOLUME volume_name

DESCRIBE VOLUMEを参照してください。

ボリューム名をクリックし、[ 詳細 ]タブを選択してボリュームの詳細を確認します。

ボリューム内のファイルを表示する

次のコマンドを実行して、ボリューム内のファイルを一覧表示します。

LIST '/Volumes/catalog_name/schema_name/volume_name/'

ボリューム名をクリックし、[ 詳細 ]タブを選択してボリュームの詳細を確認します。

次のコマンドを実行して、ボリューム内のファイルを一覧表示します。

%fs ls /Volumes/catalog_name/schema_name/volume_name/

次のコマンドを実行して、ボリューム内のファイルを一覧表示します。

dbutils.fs.ls("/Volumes/catalog_name/schema_name/volume_name/")

URIを含むファイルの一覧表示

URI を使用して、ボリューム以外の方法で構成されたクラウド・オブジェクト・ストレージを照会ーできます。 クラウドの場所にアクセスする権限でコンピュートに接続する必要があります。 ANY FILE権限は、共有アクセスモードで構成されたSQLウェアハウスとコンピュートに必要です。

注:

ボリュームで構成されたオブジェクト・ストレージへのURIアクセスはサポートされていません。 カタログエクスプローラーを使用して、ボリュームが構成されていないオブジェクトストレージの内容を確認することはできません。

次の例には、Azure Data Lake Storage Gen2、S3、GCS で格納されるデータの URI の例が含まれています。

次のコマンドを実行して、クラウド・オブジェクト・ストレージ内のファイルをリストします。

-- ADLS 2
LIST 'abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/data'

-- S3
LIST 's3://bucket-name/path/to/data'

-- GCS
LIST 'gs://bucket-name/path/to/data'

次のコマンドを実行して、クラウド・オブジェクト・ストレージ内のファイルをリストします。

# ADLS 2
%fs ls abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/data

# S3
%fs ls s3://bucket-name/path/to/data

# GCS
%fs ls gs://bucket-name/path/to/data

次のコマンドを実行して、クラウド・オブジェクト・ストレージ内のファイルをリストします。


# ADLS 2
dbutils.fs.ls("abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/data")

# S3
dbutils.fs.ls("s3://bucket-name/path/to/data")

# GCS
dbutils.fs.ls("bucket-name/path/to/data")