ストレージの探索とデータファイルの検索
この記事では、Unity Catalog ボリュームで管理されているディレクトリとデータ ファイルの検出と探索に焦点を当て、カタログ エクスプローラーを使用してボリュームを探索するための UI ベースの手順を含めます。 この記事では、ボリューム パスとクラウド URI を使用して、クラウドオブジェクトストレージ内のデータをプログラムで探索する例も示します。
Databricks では、ボリュームを使用してクラウド オブジェクト ストレージ内のデータへのアクセスを管理することをお勧めします。 クラウド・オブジェクト・ストレージ内のデータへの接続について詳しくは、 データソースへの接続を参照してください。
すべての場所にあるファイルを操作する方法の詳細なチュートリアルについては、「 Databricks でファイルを操作する」を参照してください。
ワークスペース UI で [ファイル ] を検索すると、ワークスペース ファイルとして保存されているデータ ファイルが見つかる場合があります。 Databricks 、主にコード(スクリプトやライブラリなど)、initスクリプト、または設定ファイルにワークスペースファイルを使用することをお勧めします。 ワークスペース ファイルとして格納されるデータは、開発中のテストや QA などのタスクに使用される可能性のある小さなデータセットに制限するのが理想的です。 「ワークスペースファイルとは」を参照してください。
ボリュームと従来のクラウドオブジェクト構成
ボリュームを使用してクラウドオブジェクトストレージ内のデータへのアクセスを管理する場合、データへのアクセスに使用できるのはボリュームパスのみであり、これらのパスはすべての Unity Catalog 対応コンピュートで使用できます。 ボリュームを使用して Unity Catalog テーブルをバックアップするデータ ファイルを登録することはできません。 Databricks では、Unity Catalog テーブルとして登録された構造化データと対話するために、ファイル パスの代わりにテーブル名を使用することをお勧めします。 「Unity Catalog によって管理されるデータのパスのしくみ」を参照してください。
クラウドオブジェクトストレージ内のデータへのアクセスを設定するために従来の方法を使用している場合、Databricks は従来のテーブル ACL 権限に戻ります。 標準アクセスモード(以前の共有)で設定されたウェアハウスまたはコンピュートからクラウドURIを使用してデータにアクセスする SQLユーザーは、ANY FILE
権限が必要です。 「Hive metastore テーブルアクセスコントロール (レガシー)」を参照してください。
Databricks には、クラウド・オブジェクト・ストレージ内のファイルをリストするためのいくつかの APIs が用意されています。 この記事のほとんどの例では、ボリュームの使用に焦点を当てています。 ボリュームなしで構成されたオブジェクトストレージ上のデータの操作例については、 URI を使用したファイルの一覧表示を参照してください。
ボリュームの探索
カタログエクスプローラーを使用して、ボリューム内のデータを探索し、ボリュームの詳細を確認できます。 読み取り権限のあるボリュームのみを表示できるため、この方法で検出されたすべてのデータを照会できます。
SQL を使用して、ボリュームとそのメタデータを探索できます。 ボリューム内のファイルを一覧表示するには、SQL、 %fs
マジック コマンド、または Databricks ユーティリティを使用できます。 ボリューム内のデータを操作するときは、Unity Catalog によって提供されるパス (常に次の形式) を使用します。
/Volumes/catalog_name/schema_name/volume_name/path/to/data
ディスプレイボリューム
- SQL
- Catalog Explorer
Run the following command to see a list of volumes in a given schema.
SHOW VOLUMES IN catalog_name.schema_name;
See SHOW VOLUMES.
To display volumes in a given schema with Catalog Explorer, do the following:
-
Select the
Catalog icon.
-
Select a catalog.
-
Select a schema.
-
Click Volumes to expand all volumes in the schema.
If no volumes are registered to a schema, the Volumes option is not displayed. Instead, you see a list of available tables.
ボリュームの詳細を見る
- SQL
- Catalog Explorer
Click the volume name and select the Details tab to review volume details.
ボリューム内のファイルを表示する
- SQL
- Catalog Explorer
- %fs
- Databricks utilities
Run the following command to list the files in a volume.
LIST '/Volumes/catalog_name/schema_name/volume_name/'
Click the volume name and select the Details tab to review volume details.
Run the following command to list the files in a volume.
%fs ls /Volumes/catalog_name/schema_name/volume_name/
Run the following command to list the files in a volume.
dbutils.fs.ls("/Volumes/catalog_name/schema_name/volume_name/")
ファイルをボリューム単位でプレビュー
カタログエクスプローラでボリューム内のファイルの名前をクリックすると、ファイルのプレビューが表示されます。
ファイルをプレビューするには、含まれているボリュームに対する READ VOLUME
権限が必要です。
テキスト ファイルは、コンテンツをプレーン テキストで表示します。
サポートされている画像ファイルは画像をレンダリングします。
プレビュー エクスペリエンスでは、 .yml
、 .yaml
、 .json
などのファイルの構文の強調表示が試みられます。
ファイルが破損している場合、内容の形式が正しくない場合、または間違った拡張子が使用されている場合、プレビューが正しくレンダリングされないことがあります。
次のファイル形式がサポートされています。
- 画像ファイル :jpg、jpeg、png、gif、bmp、webp、ico
- テキストファイル :txt、log、md
- 半構造化データファイル : JSON、csv
- 設定ファイル : yaml, yml
URIを含むファイルを一覧表示する
ボリューム以外の方法で構成されたクラウド・オブジェクト・ストレージは、URI を使用して照会できます。 クラウドの場所にアクセスするには、権限を持ってコンピュートに接続する必要があります。 ANY FILE
権限は、標準アクセスモード(旧共有アクセスモード)で構成された SQLウェアハウスおよびコンピュートで必要です。
ボリュームで構成されたオブジェクト・ストレージへのURIアクセスはサポートされていません。 カタログエクスプローラーを使用して、ボリュームが構成されていないオブジェクトストレージの内容を確認することはできません。
次の例は、Azure Data Lake Storage Gen2、S3、GCS で格納されたデータの URI の例を示しています。
- SQL
- %fs
- Databricks utilities
Run the following command to list files in cloud object storage.
-- 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'
Run the following command to list files in cloud object storage.
# 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
Run the following command to list files in cloud object storage.
# 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")