本文介紹預設的 Unity 目錄、說明如何決定要使用哪一個目錄做為預設值,並示範如何變更它。
Unity 目錄中的預設目錄為何?
已針對針對 Unity 目錄啟用的每個工作區設定預設目錄。 默認目錄可讓您執行資料作業,而不需要指定目錄。 如果您在執行資料作業時省略最上層目錄名稱,則會假設預設目錄。
工作區管理員可以使用系統管理員設定UI來檢視或切換預設目錄。 您也可以使用 Spark 設定來設定叢集的預設目錄。
未指定目錄的指令(例如 GRANT CREATE TABLE ON SCHEMA myschema TO mygroup
)會依照下列順序評估目錄:
- 是否是使用
USE CATALOG
語句或 JDBC 設定來為會話設定目錄? - Spark 組態
spark.databricks.sql.initial.catalog.namespace
在叢集上設定嗎? - 叢集是否已設定工作區預設目錄?
重要
Lakeflow 宣告式管線的管線組態會設定覆寫工作區預設值的默認目錄。
啟用 Unity 目錄時的預設目錄設定
最初為工作區設定的預設目錄取決於您針對 Unity 目錄啟用工作區的方式:
- 針對自動為 Unity 目錄啟用的某些工作區,工作區目錄 設定為預設目錄。 請參閱 自動啟用 Unity 目錄。
- 對於所有其他工作區,
hive_metastore
目錄已設定為預設目錄。
當您從 Hive 中繼存放區移轉至 Unity 目錄時,您可以將預設目錄設定為 hive_metastore
,以避免影響參考 Hive 中繼存放區的現有程式代碼。
變更預設目錄
工作區管理員可以變更工作區的預設目錄。 任何有權建立或編輯計算資源的人都可以為計算資源設定不同的預設目錄。
警告
變更預設目錄可能會中斷相依的現有數據作業。
若要為工作區設定不同的預設目錄:
- 以工作區系統管理員身分登入您的工作區。
- 按兩下工作區頂端列中的使用者名稱,然後從下拉式清單中選取 [系統管理員設定]。
- 按一下 [進階] 索引標籤。
- 在工作區的 預設目錄資料列 中,輸入目錄名稱,然後按下 儲存。
重新啟動 SQL 倉儲和叢集,變更才會生效。 所有新的和重新啟動的 SQL 倉儲和叢集都會使用此目錄作為工作區預設值。
您還可以設定叢集上的以下 Spark 組態,以覆蓋特定叢集的預設目錄。 此方法不適用於 SQL 倉儲:
spark.databricks.sql.initial.catalog.namespace
如需說明,請參閱 Spark設定。
檢視目前的預設目錄
若要取得工作區目前的預設目錄,您可以在筆記本或 SQL 編輯器查詢中使用 SQL 語句。 工作區管理員可以使用系統管理員設定UI取得預設目錄。
系統管理員設定
- 以工作區系統管理員身分登入您的工作區。
- 按兩下工作區頂端列中的使用者名稱,然後從下拉式清單中選取 [系統管理員設定]。
- 按一下 [進階] 索引標籤。
- 在工作區的
預設目錄列中,檢視目錄名稱。
SQL
在 SQL 倉儲或 Unity 目錄相容叢集上執行的筆記本或 SQL 編輯器查詢中執行下列命令。 只要會話上未設定任何 USE CATALOG
語句或 JDBC 設定,而且叢集未設定任何 spark.databricks.sql.initial.catalog.namespace
組態,就會傳回工作區默認目錄。
SELECT current_catalog();