此頁面說明如何停用對現有 Azure Databricks 工作區中舊版 Databricks 文件系統 (DBFS) 根 目錄和 掛接 的存取權。 若要在新工作區的帳戶層級停用 DBFS 根目錄和掛接,請使用 [停用舊版功能 ] 帳戶設定。
將檔案型工作流程移轉至 Unity 目錄磁碟區、外部位置或工作區檔案之後,您可以防止使用者在 DBFS 根目錄和 DBFS 掛接中上傳、修改或存取數據。 停用 DBFS 根目錄和掛接可移除不受 Unity 目錄控管之共用記憶體的存取權,藉此增強您的安全性狀態。
什麼是 DBFS 根目錄和掛接?
DBFS 是 Databricks 工作區中的分散式文件系統,可在 URI 配置下 dbfs: 存取,並用來與雲端式記憶體互動。
dbfs: URI 配置可用來存取工作區中的數個記憶體區域,包括:
-
DBFS 根目錄:檔案系統根目錄下可直接存取的區域,例如,當您鍵入
dbfs:/時。 所有工作區使用者可以存取直接在 DBFS 根目錄下建立的內容,但下列其中一個保留前置詞下的內容除外,每個內容都受限於特殊條件。 請參閱 什麼是 DBFS 根目錄?。 -
DBFS 掛載:定義外部雲端儲存存取的舊方法,可在 下
dbfs:/mnt/<mount_name>存取。 請參閱 掛載物件儲存。 -
保留的 Azure Databricks 前綴:Unity Catalog 磁碟區和其他 Azure Databricks 系統路徑所使用的前綴,例如
dbfs:/databricks-datasets/和 MLflow 資產路徑。 例如:dbfs:/Volumes/。
所有路徑也可以使用 POSIX 樣式的路徑來存取。 請參閱 是否需要提供 URI 配置來存取資料?。
如需 DBFS 的詳細資訊,包括 DBFS 根目錄和掛接,請參閱 什麼是 DBFS?
正在停用什麼?
停用 DBFS 根目錄並掛接之後:
- 所有對現有工作區中 DBFS 根目錄和掛接的存取都會停用,並封鎖所有介面(UI、API、CLI、FUSE)。
- 嘗試從 DBFS 根目錄讀取、寫入檔案或掛載時,會出錯。 例如,錯誤訊息:公用 DBFS 根目錄已停用。
- 無法再從 UI 存取 DBFS 瀏覽器和 [ 上傳至 DBFS ] 選項。 除非還原設定,否則參考 DBFS 根目錄和掛接的作業、筆記本或腳本會失敗。
- 無法再從常見的功能存取 DBFS 選項,例如:
- 叢集程式庫
- 叢集記錄傳遞
- MLflow 追踪/模型登錄 (非 UC)
- AutoML 實驗
- Lakeflow Spark 宣告式管線
- 使用
/files內嵌的靜態筆記本檔案失敗,發生 500 錯誤。 請參閱 在筆記本中內嵌靜態影像。 - 掛接/卸除作業遭到封鎖。
- 檔案存放區 作業遭到封鎖。
- 停用工作區中的 DBFS 根目錄與掛載點後,Databricks 運行時版本也會被停用,若其版本低於 13.3 LTS。
Note
在已停用 DBFS 的工作區中, dbfs:/Workspace 路徑可讓您存取工作區檔案系統中的檔案。 這需要 Databricks Runtime 13.3 LTS 或更新版本。
哪些未受到影響?
dbfs: URI 方案仍然是 Azure Databricks 的核心,而且停用 DBFS 根目錄和 DBFS 掛接並不會停用 dbfs: URI 本身的功能。 下列專案會如預期般運作:
-
Unity 目錄磁碟區:磁碟區仍可使用
dbfs:/Volumes前置詞和 POSIX 樣式/Volumes路徑來存取。 如需詳細資訊,請參閱是否需要提供 URI 配置來存取數據?以及什麼是 Unity 目錄磁碟區? 請參閱連線至 DBFS 根外部位置 (舊版)。 -
系統路徑:唯讀資料仍可使用和其他 Azure Databricks 系統路徑存取
dbfs:/databricks-datasets/,例如 MLflow 資源路徑。 - 內部工作區系統數據:這包括 Azure Databricks 自動產生的內容,例如筆記本修訂、作業執行詳細數據、命令結果和 Spark 記錄。 請參閱 Workspace 儲存空間。
Note
DBFS 根目錄和掛接下既有的數據不會刪除。 如果透過使用工作區層級的停用 DBFS 根目錄和掛接 設定來重新啟用 DBFS 根目錄和掛接,數據會再次變得可存取。
以下是可存取且不受 DBFS 根目錄和掛接停用影響的一些路徑範例:
| Category | Path | Description |
|---|---|---|
| Unity 目錄磁碟區 | dbfs:/Volumes/<catalog>/<schema>/<volume>/<path>/<file_name> |
保留給UC磁碟區,且只能透過UC特定API存取,並受限於UC治理規則。 如需詳細資訊,請參閱 存取磁碟區中檔案的路徑。 |
| 系統路徑 | dbfs:/databricks/mlflow-registry dbfs:/databricks/mlflow-tracking |
指向由 Azure Databricks 內部 API 寫入至 工作區系統資料的內容的唯讀的路徑。 |
| 系統路徑 | dbfs:/databricks-datasets/ |
預設在 Azure Databricks 工作區中掛載的只讀資料集集合。 請參閱 流覽 DBFS 掛接的 Databricks 數據集。 |
前置 dbfs: 詞 (URI 配置) 是選擇性的,而且在大部分情況下都可以省略。 請參閱 是否需要提供 URI 配置來存取資料?。
何時可以停用 DBFS 根目錄和掛接?
您可以隨時停用 DBFS。 不過,如果現有的工作流程仍相依於該工作流程,它們可能會中斷。 Databricks 建議僅在非重要環境中,在下列情況後停用 DBFS 根目錄和掛接:
- 您已將所有依賴於 DBFS 根目錄或掛載點的工作流程移轉至 Unity Catalog 磁碟區、外部位置或工作區檔案。
- 您已將所有作業和叢集升級至 Databricks Runtime 13.3 LTS 或更新版本。
Note
在繼續之前,您可以使用 可觀測性指令碼 來掃描剩餘的 DBFS 根目錄和掛載用量。
停用 DBFS 根目錄和掛接
您可以停用現有和新工作區中的 DBFS 根目錄和掛接。
身為工作區系統管理員,請遵循下列步驟來停用 DBFS 根目錄和掛接:
登入您的 Azure Databricks 工作區。
按一下右上角的使用者設定檔圖示,然後選取 [設定]。
導覽至 Workspace admin,然後按一下 [安全性]。
將 [停用 DBFS 根目錄] 和 [掛接 ] 設定為 [已停用]:無法使用 DBFS 根目錄和掛接。
等候最多 20 分鐘,設定才會生效。
重新啟動所有執行中的叢集。
- 傳播延遲:DBFS 根和掛載停用最多可能需要 20 分鐘才能完全傳播。
- 叢集重新啟動:任何執行中的通用計算和 SQL 倉儲都必須 手動 重新啟動,這必須在 20 分鐘的傳播時間之後完成,變更才會生效。 如果未重新啟動,這類叢集會繼續存取 DBFS 根目錄和掛接。
請參閱 Notebook 範例:尋找長時間執行的計算 ,以取得識別並重新啟動長時間執行之所有用途計算的範例。