預設情況下,外部系統無法存取實體化的視圖與串流資料表。 Azure Databricks 提供兩個功能,讓你能將資料集開放給 Delta Lake 或 Iceberg 用戶端:
外部資料存取 ——啟用管線管理及獨立實體化檢視與串流資料表的 外部資料 存取,發布面向外部的元資料,讓用戶端能使用 Unity Catalog 或 Iceberg REST API,而無需完整資料複製或獨立刷新排程。 用戶端必須使用目錄 REST API,並支援 Delta Lake 4.0.0 或更高版本,或 Iceberg V3 規範。
關於管線管理及獨立實體化檢視與串流資料表的外部資料存取細節,請參見 啟用外部資料存取串流資料表與實體化檢視。
相容模式 (公開預覽)-啟用資料集相容 模式 會在指定位置產生唯讀版本的資料,資料表刷新時必須更新。 相容版本包含 Delta Lake 與 Iceberg 格式的 v1 元資料,並附帶唯讀複製,允許更廣泛的用戶端存取(包括必須直接讀取資料表資料而非 API 的用戶端),但代價是資料更新延遲及資料複製成本。
關於相容模式的詳細資訊,請參見 相容模式。
如果你的外部客戶端支援 REST API,Azure Databricks 建議使用外部資料存取權,讓這些客戶端能夠存取實體化的檢視或串流資料表。 對於更廣泛的用戶端,尤其是較舊的用戶端,以及其他 Unity 目錄管理的資料表,請使用相容模式。
| 能力 | 外部資料存取 | 相容模式 |
|---|---|---|
| 資料副本 | 不需要資料複製。 | 需要資料副本。 |
| 一致性 | 寫入後讀的一致性。 外部客戶端在資料集中一發生變更就會立即看到。 | 更新是有固定時間的。 預設情況下,相容性表每小時更新一次。 這可設為在來源資料表變更後立即更新,但仍會因資料複製所需時間而有所延遲。 |
| 存取 | 需要「現代」REST API 存取權限。 支援 Delta 4.0.0 或更高版本的目錄 API 或 Iceberg v3 規範 API(需支援刪除向量)。 | 相容於所有 Delta Lake 或 Iceberg 用戶端。 |
| 單一資料表物件 | 實體化檢視與串流資料表在外部用戶端眼中會以與原始資料集名稱相同的管理資料表呈現。 | 相容性資料表會以新資料表的形式出現在外部用戶端的某個新位置。 |
| 資料表類型支援 | 支援由 Lakeflow 管線管理或作為獨立物件建立的實體化視圖與串流表。 | 支援具體化檢視表和串流資料表,無論是由 Lakeflow 管線管理或獨立存在,以及任何其他由 Unity Catalog 管理的資料表。 |
| Cost | 維護外部元資料的成本包含在實體化檢視或串流資料表的刷新成本中。 這通常不到更新成本和時間的1%。 | 相容模式的大部分成本是將舊有資料轉移到新地點的成本。 |
其他資源
- 若想了解一般從外部系統存取 Databricks 資料,請參閱 使用 外部系統存取 Databricks 資料。
- 啟用對串流資料表和實體化檢視表的外部資料存取
- 相容模式