共用方式為


什麼是表格?

數據表位於架構中,並包含數據列。 根據預設,在 Azure Databricks 中建立的所有數據表都會使用 Delta Lake。 由 Delta Lake 支援的表格也稱為 Delta 表格

Delta 數據表會將資料儲存為雲端物件記憶體中的檔案目錄,並將數據表元數據註冊至目錄和架構內的中繼存放區。 所有 Unity 目錄受控數據表和串流數據表都是 Delta 數據表。 Unity Catalog 外部數據表可以是 Delta 資料表,但不一定要是。

您可以在不使用 Delta Lake 的 Databricks 上建立數據表。 這些表格不提供 Delta 表的交易保證或優化性能。

數據表會儲存數據列。 數據表位於架構中,並包含數據列。 下列範例顯示了一個名為 prod.people_ops_employees 的數據表,包含五名員工的數據。 元數據會在 Unity 目錄中註冊,且數據會儲存在雲端記憶體中。

包含員工數據的範例數據表

基本表格權限

若要建立數據表,用戶必須具有架構的 CREATE TABLEUSE SCHEMA 許可權,而且用戶必須具有其父目錄的 USE CATALOG 許可權。 若要查詢數據表,用戶必須具有數據表的 SELECT 許可權、其父架構的 USE SCHEMA 許可權,以及其父目錄的 USE CATALOG 許可權。

如需 Unity 目錄許可權的詳細資訊,請參閱 在 Unity 目錄中管理許可權。

Unity 目錄中的數據表

在 Unity 目錄中,數據表位於三層命名空間的第三層 (catalog.schema.table),如下表所示。 Unity Catalog 外部資料表可以是 Delta 資料表,但不要求是。

Unity Catalog 物件模型圖表,著重於資料表

增量表格

Delta 數據表由 Delta Lake 支援,會將數據儲存為雲端物件記憶體中的檔案目錄,並將數據表元數據註冊至目錄和架構內的中繼存放區。 由於 Delta 數據表是 Databricks 上的預設值,因此除非另有說明,否則對數據表的大部分參考都會描述 Delta 數據表的行為。 所有 Unity 目錄受控數據表和串流數據表都是 Delta 數據表。 請參閱 Delta 資料表的運作方式

Databricks 建議您一律使用完整數據表名稱來與 Delta 數據表互動,而不是檔案路徑。

管理的表格

受控數據表會與中繼存放區註冊一起管理基礎數據檔。 Databricks 建議您在建立新的數據表時使用受控數據表。 當您在 Azure Databricks 中建立資料表時,Unity 目錄受控數據表是預設值。 它們一律使用 Delta Lake。 請參閱 使用受控資料表

外部數據表

外部數據表,有時稱為 非受管資料表,參考儲存在 Databricks 外部的外部存儲系統中的數據,例如雲端物件存儲。 它們會將基礎數據檔的管理與中繼存放區註冊分離。 Unity 目錄 >支援數種格式的外部數據表,包括 Delta Lake。 Unity 目錄外部資料表可以使用外部系統可讀取的通用格式來儲存資料檔。 請參閱 使用外部資料表

串流數據表

串流表是 Delta 表,主要用於處理增量數據。 串流數據表的大部分更新都會透過重新整理作業進行。

您可以使用 Databricks SQL 在 Unity 目錄中註冊串流數據表,或將它們定義為 Delta Live Tables 管線的一部分。 請參閱 串流數據表如何運作使用 Databricks SQL中的串流數據表載入數據,以及 什麼是 Delta 實時數據表?

外部數據表

外部數據表代表透過 Lakehouse 同盟連線到 Azure Databricks 的外部系統中儲存的數據。 外部數據表在 Azure Databricks 上是唯讀的。 請參閱 什麼是 Lakehouse 同盟?

功能數據表

具有主鍵的 Unity 目錄所管理的任何 Delta 數據表都是功能數據表。 您可以選擇性地針對低延遲使用案例使用線上功能存放區來設定功能數據表。 請參閱 在工作區功能存放區 (舊版)中使用功能數據表。

Hive 資料表 (舊版)

Hive 數據表描述 Azure Databricks 上的兩個不同的概念,兩者都是舊版模式,不建議使用。

根據預設,使用舊版Hive中繼存放區註冊的數據表會將數據儲存在舊版 DBFS 根目錄中。 Databricks 建議將所有數據表從舊版 HMS 移轉至 Unity 目錄。 請參閱舊版 Hive 中繼存放區中的資料庫物件 (英文)。

Apache Spark 支援註冊和查詢 Hive 數據表,但這些編解碼器並未針對 Azure Databricks 優化。 Databricks 建議只註冊 Hive 數據表,以支援針對外部系統所寫入數據的查詢。 請參閱 Hive 資料表(舊版)

即時資料表 (已淘汰)

即時數據表 是指先前功能的實現方式,現在是以 實現檢視的形式來完成的。 任何參考實時數據表的舊版程式代碼都應該更新為使用具體化檢視的語法。 請參閱 什麼是 Delta Live Tables?在 Databricks SQL中使用具體化檢視。