什麼是數據表和視圖?
數據表和檢視是 Databricks 中組織及存取數據的基本概念。
數據表 是儲存在特定位置的結構化數據集,通常是以 Delta Lake 格式儲存。 數據表會將實際數據儲存在記憶體上,而且可以使用 SQL 命令或 DataFrame API 來查詢和操作,支援插入、更新、刪除和合併等作業。 請參閱 什麼是數據表?。
檢視 是由 SQL 查詢定義的虛擬資料表。 檢視本身不會儲存數據。 相反地,檢視會以特定格式或抽象概念呈現來自一或多個數據表的數據。 檢視有助於簡化複雜的查詢、封裝商業規則,以及為基礎數據提供一致的介面,而不需要複製記憶體。 請參閱 什麼是檢視?。
Unity 目錄中的數據表和檢視
數據表和檢視會使用 Unity 目錄來管理。 在 Unity 目錄中,數據表和檢視位於三層命名空間 (catalog.schema.table) 的第三層,如下圖所示。
Delta 表、串流資料表和實體化檢視表之間的差異
下表回答有關 Delta 表、串流表和具體化檢視表之間差異的常見問題。
問題 | 增量表 | ST | MV |
---|---|---|---|
這是什麼? | 以 Delta Lake 格式儲存的標準數據表,支援 ACID 交易、架構強制執行和其他 Delta Lake 功能。 | 這是一個已被擴充以用於串流和增量處理使用案例的一般 Delta 資料表。 | 其結果一律預先計算且正確之查詢的結果。 |
建議使用哪些使用案例? | 執行下列動作的程式代碼: -攝入 -轉型 |
執行下列動作的宣告式程式代碼: - 從僅附加來源擷取 - 低延遲轉換 |
執行下列動作的宣告式程式代碼: - 累加轉換 - 批次轉換 |
如何填入? | 程式代碼(INSERT 、UPDATE 、MERGE 、使用 replaceWhere 覆寫分割區) |
宣告式程式代碼,包括: - 附加數據流 - 套用變更數據流 - 一次流程 |
宣告式查詢 |
Unity 目錄中的物件類型為何? | 桌子 | 桌子 | 檢視 |
誰可以更新? | 任何能更新 Delta 數據表的作者。 | 只有定義串流數據表的管線可以更新它。 | 只有定義具現化檢視的管線可以更新它。 |
它與哪些 Delta Lake 功能相容? | 支援所有 Delta Lake 功能。 | 不支援: - 液體分割 - 預測性優化 |
不支援: - 液體分割 - 預測性優化 |