增量克隆拚花和冰山表三角洲湖
您可以使用磚克隆功能逐步從拚花或冰山數據源的數據轉換為管理或外部三角洲表。
磚用於克隆拚花和冰山結合功能克隆三角洲表和將表格轉換成三角洲湖。本文描述了用例和限製這一特性,並提供例子。
預覽
這個特性是在公共預覽。
請注意
該功能需要磚運行時11.3或以上。
何時使用克隆的增量攝入拚花或冰山數據
磚提供了許多選項數據攝取到lakehouse。磚建議使用克隆攝取拚花或冰山數據在以下情況:
請注意
這個詞源表指的是表和數據文件被克隆,雖然目標表指的是δ表創建或更新的操作。
您正在執行遷移從拚花或冰山三角洲湖,但是仍然需要繼續使用源表。
你需要維護一個ingest-only之間同步接收附加目標表和生產源表,更新和刪除操作。
你想創建一個ACID-compliant快照的源數據報告,機器學習,或者批ETL。
克隆的語法是什麼?
克隆為拚花和冰山使用相同的基本語法使用克隆三角洲表,支持淺和深克隆。有關更多信息,請參見克隆類型。
磚建議使用克隆逐步對大多數工作負載。克隆支持拚花和冰山使用SQL語法。
請注意
克隆為拚花和冰山有不同的需求,保證比克隆或轉換為δ。看到要求和限製克隆拚花和冰山表。
深克隆拚花或冰山表使用一個文件路徑,使用下麵的語法:
創建或取代表<目標- - - - - -表- - - - - -的名字>克隆拚花。' /路徑/來/數據”;創建或取代表<目標- - - - - -表- - - - - -的名字>克隆冰山。' /路徑/來/數據”;
淺克隆拚花或冰山表使用一個文件路徑,使用下麵的語法:
創建或取代表<目標- - - - - -表- - - - - -的名字>淺克隆拚花。' /路徑/來/數據”;創建或取代表<目標- - - - - -表- - - - - -的名字>淺克隆冰山。' /路徑/來/數據”;
您還可以創建深或淺克隆metastore鋪表登記,如以下示例所示:
創建或取代表<目標- - - - - -表- - - - - -的名字>克隆<源- - - - - -表- - - - - -的名字>;創建或取代表<目標- - - - - -表- - - - - -的名字>淺克隆<源- - - - - -表- - - - - -的名字>;
要求和限製克隆拚花和冰山表
是否使用深或淺克隆,克隆後更改應用到目標表中出現無法同步回源表。增量同步與克隆是單向的,允許更改源表自動應用於目標三角洲表。
下麵的額外限製適用於使用克隆與拚花和冰山表:
你必須注冊拚花等目錄表和分區克隆和使用前的蜂巢metastore idenfity源表的表名。你不能使用基於路徑克隆語法拚花與分區表。
你不能克隆冰山進化經曆了分區的表。
你不能克隆冰山merge-on-read表經曆了更新,刪除或合並。
以下是限製克隆冰山與截斷列上定義的分區表:
在磚運行時的13.0和下麵,隻有截斷列類型支持
字符串
。在磚運行時的13.1及以上,你可以使用截斷的列類型
字符串
,長
,或int
。磚不支持使用截斷的列類型
小數
。
增量克隆同步源表的模式變化和屬性,任何模式變化和數據文件編寫本地克隆表覆蓋。
請注意
在磚11.3運行時,此操作不會收集文件級別的統計數據。因此,目標表不受益於三角洲湖數據跳過。文件級數據收集在磚運行時12.0及以上。