最佳實踐DBFS和統一目錄

統一目錄介紹一些新配置和方法比DBFS數據治理完全不同的概念。本文概述了一些最佳實踐在處理外部位置和DBFS統一目錄。

磚建議不要使用DBFS和安裝雲對象存儲對於大多數用例在統一Catalog-enabled磚工作區。本文描述了幾個場景中,您應該使用安裝雲對象存儲。注意,磚不建議使用DBFS根結合統一目錄,除非你必須遷移文件或數據存儲到統一目錄。

DBFS用於統一Catalog-enabled工作區嗎?

DBFS根默認位置用於存儲文件與在磚工作區中執行的操作,包括創建管理workspace-scoped中的表hive_metastore。對表執行的動作hive_metastore使用遺留數據訪問模式,其中可能包括數據和存儲憑證由DBFS管理。

單用戶訪問模式DBFS是如何工作的?

集群配置了單用戶訪問模式DBFS完全訪問,包括在DBFS根和所有文件安裝數據。DBFS根和掛載在這個訪問模式,使其成為首選毫升的工作負載需要訪問統一編目數據集。

磚推薦使用的服務主體與計劃工作和單用戶訪問模式的生產工作負載需要訪問數據由DBFS和統一目錄管理。

DBFS在共享訪問模式下工作如何?

共享訪問模式結合了聯合編目數據治理和磚遺留表的acl。對數據的訪問hive_metastore僅僅是提供給用戶權限明確。

直接使用DBFS與文件,你必須有任何文件權限授予。因為任何文件允許用戶繞過遺留表的aclhive_metastore由DBFS和訪問所有數據管理,數據磚建議謹慎當授予特權。

共享訪問模式不支持DBFS根或坐騎。

使用DBFS而推出統一目錄集群與單用戶訪問模式

磚建議使用DBFS坐騎為init腳本、配置和庫存儲在外部存儲中。這種行為在共享訪問模式下不支持。

不要使用DBFS和統一目錄外部位置

統一目錄保護訪問數據在外部位置通過使用完整的雲URI路徑確定資助對象存儲目錄管理。DBFS坐騎使用一種完全不同的數據訪問模式,完全繞過統一目錄。磚建議你不重用雲之間的對象存儲卷DBFS坐騎和加州大學外部卷。

安全的統一Catalog-managed存儲

每個目錄metastore統一有一個對象存儲賬戶由磚帳戶管理員配置。統一目錄使用這個位置來存儲所有的數據和元數據統一Catalog-managed表。

一個存儲賬戶用於統一目錄metastore應該:

  • 全民創建新目錄。

  • 有一個自定義身份政策為統一定義目錄。

  • 隻有可以統一目錄。

  • 隻能使用身份訪問訪問政策為統一創建目錄。

現有的數據添加到外部的位置

可以存儲賬戶現有加載到統一目錄使用外部的位置。最大的安全,磚建議隻加載存儲賬戶外部位置如果所有其他存儲憑證和訪問模式已被撤消。

你不能加載存儲帳戶用作DBFS根外部統一目錄中的位置。

集群配置是忽視了統一目錄文件係統訪問

統一目錄不尊重集群配置文件設置。這意味著Hadoop文件係統設置配置自定義行為與雲對象存儲不使用統一編目工作當訪問數據。

限製在多個路徑訪問

雖然通常可以使用統一目錄和DBFS一起,路徑相等或共享一個父/子關係不能引用相同的命令或筆記本電池使用不同的訪問方法。

例如,如果一個外部表噴火被定義的hive_metastore在位置a / b / c和外部位置統一目錄中定義a / b /,下麵的代碼會拋出一個錯誤:

火花(“foo”)過濾器(“id”不是零)模式(“覆蓋”)保存(“a / b / c”)

這個錯誤不會出現如果這個邏輯是分為兩個單元:

df=火花(“foo”)過濾器(“id”不是零)
df模式(“覆蓋”)保存(“a / b / c”)