什麼是 Unity 目錄磁碟區?
卷是 Unity Catalog 物件,可對非表格式數據進行管理。 卷代表雲端物件儲存位置中的邏輯儲存卷。 磁碟區提供存取、儲存、控管和組織檔案的功能。
雖然數據表提供表格式數據集的控管,但數據卷對非表格式數據集提供控管。 您可以使用磁碟區,以任何格式儲存和存取檔案,包括結構化、半結構化和非結構化數據。
Databricks 建議使用磁碟區來管理所有非表格式數據的存取權。 如同數據表,磁碟區可以管理或外部。
重要
您無法使用硬碟空間作為資料表的位置。 磁碟區僅供路徑型數據存取使用。 當您想要在 Unity Catalog 中處理表格式資料時,請使用資料表。
下列文章提供有關使用磁碟區的詳細資訊:
- 建立和管理磁碟區。
- 管理磁碟區中的檔案。
- 探索記憶體並尋找資料檔。
- 管理的磁碟區與外部磁碟區。
- 磁碟區有哪些權限?。
注意
當您使用磁碟區時,除非您使用 Azure Databricks UI,例如目錄總管,否則您必須使用 SQL 倉儲或執行 Databricks Runtime 13.3 LTS 或更新版本叢集。
什麼是受管理的磁碟區?
受控磁碟區是在 Unity 目錄控管的儲存位置內建立的受控儲存磁碟區。 請參閱 在 Unity 目錄中指定受控儲存位置。
受控磁碟區允許建立受控記憶體以處理檔案,而不需要外部位置和記憶體認證的額外負荷。 建立受控磁碟區時,您不需要指定位置,而且受控磁碟區中數據的所有檔案存取都是透過 Unity 目錄所管理的路徑。
什麼是外部磁碟區?
外部磁碟區是使用 Unity 目錄控管的記憶體認證,針對外部位置內的目錄註冊的 Unity 目錄控管記憶體磁碟區。
Unity 目錄不會管理外部磁碟區中檔案的生命週期和配置。 當您卸除外部磁碟區時,Unity 目錄不會刪除基礎數據。
哪些路徑可用來存取磁碟區中的檔案?
資料分區位於 Unity 編目三層命名空間的第三層 (catalog.schema.volume
):
無論您使用 Apache Spark、SQL、Python 或其他語言和連結庫,存取磁碟區的路徑都相同。 這與系結至 Azure Databricks 工作區之物件記憶體中檔案的舊版存取模式不同。
存取磁碟區中檔案的路徑會使用下列格式:
/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
使用 Apache Spark 時,Azure Databricks 也支援選擇性 dbfs:/
配置,因此下列路徑也有效:
dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file-name>
路徑中的序列 /<catalog>/<schema>/<volume>
會對應至與檔案相關聯的三個 Unity Catalog 物件名稱。 這些路徑元素是只讀的,用戶無法直接寫入,這表示無法使用文件系統作業建立或刪除這些目錄。 系統會自動管理它們,並與對應的 Unity 目錄實體保持同步。
注意
您也可以使用雲端記憶體 URI 存取外部磁碟區中的數據。
磁碟區的預留路徑
磁碟區引進下列用來存取磁碟區的保留路徑:
dbfs:/Volumes
/Volumes
注意
路徑也會保留給 Apache Spark API 中 dbutils
這些路徑的潛在錯字,包括 /volumes
、 /Volume
、、、 /volume
,以及它們前面是否加上 dbfs:/
。 路徑 /dbfs/Volumes
也是保留的,但無法用來存取磁碟區。
只有 Databricks 執行環境 13.3 LTS 和更新版本才支援磁碟區。 在 Databricks Runtime 12.2 LTS 和更早版本中,針對 /Volumes
路徑的作業可能會成功,但只能將數據寫入附加至計算叢集的暫存儲存磁碟,而無法如預期般將數據保存到 Unity Catalog 磁碟區。
重要
如果您已將預先存在的數據儲存在 DBFS 根目錄的保留路徑中,您可以提出支援票證,以取得此數據的暫時存取權,以將其移至另一個位置。
限制
您必須使用已啟用 Unity Catalog 的計算資源來與 Unity Catalog 磁碟區互動。 磁碟區不支援所有工作負載。
下表概述以 Databricks Runtime 版本為基礎的 Unity 目錄磁碟區限制:
Databricks 執行環境版本 | 限制 |
---|---|
14.3 LTS 和更新版本 |
|
14.2 和以下版本 |
|
所有支援的 Databricks 執行時間版本 |
|