使用受控數據表
Azure Databricks 會管理受控數據表的生命週期和檔案配置。 受控數據表是建立數據表的預設方式。
Databricks 建議您針對 Azure Databricks 中管理的所有表格式數據使用受控數據表。
注意
本文著重於 Unity Catalog 受控管理表格。 舊版Hive中繼存放區中的受控數據表有不同的行為。 請參閱舊版 Hive 中繼存放區中的資料庫物件 (英文)。
使用受控數據表
您可以跨 Azure Databricks 支援的所有語言和產品,使用受控數據表。 您需要特定許可權,才能建立、更新、刪除或查詢受控數據表。 請參閱 在 Unity 目錄中管理許可權。
您不應該使用 Azure Databricks 以外的工具,直接操作受控數據表中的檔案。
您應該只使用資料表名稱與管理表格中的資料檔案互動。
受控數據表的數據檔會儲存在與包含架構相關聯的受控儲存位置。 請參閱 在 Unity 目錄中指定受控儲存位置。
建立受控資料表
根據預設,每當您在 Azure Databricks 中使用 SQL 命令、Spark 或其他工具建立資料表時,就會管理數據表。
下列 SQL 語法示範如何使用 SQL 建立空的受控數據表。 替換佔位符值:
-
<catalog-name>
:將包含資料表的目錄名稱。 -
<schema-name>
:將包含數據表的架構名稱。 -
<table-name>
:數據表的名稱。 -
<column-specification>
:每個數據行的名稱和數據類型。
CREATE TABLE <catalog-name>.<schema-name>.<table-name>
(
<column-specification>
);
許多使用者會從查詢結果或 DataFrame 寫入作業建立受控數據表。 下列文章示範一些可用來在 Azure Databricks 上建立受控數據表的模式:
所需的權限
若要建立管理資料表,您必須具備:
- 數據表父架構的
USE SCHEMA
許可權。 - 表格父目錄上的
USE CATALOG
許可權。 - 數據表父架構的
CREATE TABLE
許可權。
刪除受管理的數據表
您必須是資料表的擁有者,或在該資料表上具有 MANAGE
權限,才能刪除資料表。 若要卸除受控數據表,請執行下列 SQL 命令:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
卸除受管理的資料表時,其基礎數據會在 30 天內從您的雲端租戶中遭到刪除。