探索儲存體並尋找資料檔案
本文著重於探索及探索使用 Unity 目錄磁碟區管理的目錄和資料檔,包括使用目錄總管探索磁碟區的 UI 型指示。 本文也提供使用磁碟區路徑和雲端 URI 以程式設計方式探索雲端物件記憶體中數據的範例。
Databricks 建議使用磁碟區來管理雲端物件記憶體中數據的存取權。 如需連線到雲端物件記憶體中數據的詳細資訊,請參閱 連線到數據源。
如需如何與所有位置中的檔案互動的完整逐步解說,請參閱 在 Azure Databricks 上使用檔案。
重要
在工作區 UI 中搜尋 檔案 時,您可能會探索儲存為工作區檔案的數據檔。 Databricks 建議主要針對程式代碼使用工作區檔案(例如腳本和連結庫)、init 腳本或組態檔。 在理想情況下,您應該將儲存為工作區檔案的數據限製為可用於開發和 QA 期間測試等工作的小型數據集。 請參閲工作區檔案是什麼?。
磁碟區與舊版雲端對象組態
當您使用磁碟區來管理雲端物件記憶體中數據的存取權時,您只能使用磁碟區路徑來存取數據,而且所有已啟用 Unity 目錄的計算都可以使用這些路徑。 您無法使用磁碟區註冊支援 Unity 目錄資料表的數據檔。 Databricks 建議使用數據表名稱,而不是檔案路徑,以與註冊為 Unity 目錄數據表的結構化數據互動。 請參閱 路徑如何適用於 Unity 目錄所管理的數據?。
如果您使用舊版方法來設定雲端物件記憶體中數據的存取權,Azure Databricks 會還原為舊版數據表 ACL 許可權。 想要從 SQL 倉儲使用雲端 URI 或以共用存取模式設定的計算來存取資料的使用者需要 ANY FILE
許可權。 請參閱Hive中繼存放區數據表訪問控制(舊版)。
Azure Databricks 提供數個 API 來列出雲端物件記憶體中的檔案。 本文中的大部分範例都著重於使用磁碟區。 如需與未設定磁碟區之物件記憶體上數據互動的範例,請參閱 使用 URI 列出檔案。
探索磁碟區
您可以使用目錄總管來探索磁碟區中的數據,並檢閱磁碟區的詳細數據。 您只能看到具有讀取許可權的磁碟區,因此您可以查詢以這種方式探索到的所有數據。
您可以使用 SQL 來探索磁碟區及其元數據。 若要列出磁碟區中的檔案,您可以使用 SQL、 %fs
magic 命令或 Databricks 公用程式。 與磁碟區中的數據互動時,您可以使用 Unity 目錄所提供的路徑,此路徑一律具有下列格式:
/Volumes/catalog_name/schema_name/volume_name/path/to/data
顯示磁碟區
SQL
執行下列命令以查看指定架構中的磁碟區清單。
SHOW VOLUMES IN catalog_name.schema_name;
請參閱 顯示磁碟區。
目錄總管
若要使用目錄總管在指定的架構中顯示磁碟區,請執行下列動作:
- 選取目錄圖示。
- 選取目錄。
- 選取架構。
- 按兩下 [ 磁碟區 ] 展開架構中的所有磁碟區。
注意
如果未向架構註冊任何磁碟區,則不會顯示 [ 磁碟 區] 選項。 相反地,您會看到可用的數據表清單。
請參閱磁碟區詳細數據
SQL
執行下列命令來描述磁碟區。
DESCRIBE VOLUME volume_name
請參閱 DESCRIBE VOLUME。
目錄總管
按兩下磁碟區名稱,然後選取 [ 詳細 資料] 索引標籤以檢閱磁碟區詳細數據。
查看磁碟區中的檔案
SQL
執行下列命令以列出磁碟區中的檔案。
LIST '/Volumes/catalog_name/schema_name/volume_name/'
目錄總管
按兩下磁碟區名稱,然後選取 [ 詳細 資料] 索引標籤以檢閱磁碟區詳細數據。
%fs
執行下列命令以列出磁碟區中的檔案。
%fs ls /Volumes/catalog_name/schema_name/volume_name/
Databricks 公用程式
執行下列命令以列出磁碟區中的檔案。
dbutils.fs.ls("/Volumes/catalog_name/schema_name/volume_name/")
列出具有 URI 的檔案
您可以使用 URI 查詢使用磁碟區以外的方法設定的雲端物件記憶體。 您必須使用許可權連線到計算,才能存取雲端位置。 ANY FILE
SQL 倉儲和以共用存取模式設定的計算都需要許可權。
注意
不支援使用磁碟區設定之物件記憶體的 URI 存取。 您無法使用目錄總管來檢閱未設定磁碟區之物件記憶體的內容。
下列範例包含 Azure Data Lake Storage Gen2、S3 和 GCS 所儲存數據的範例 URI。
SQL
執行下列命令以列出雲端物件記憶體中的檔案。
-- 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'
%fs
執行下列命令以列出雲端物件記憶體中的檔案。
# 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
Databricks 公用程式
執行下列命令以列出雲端物件記憶體中的檔案。
# 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")