增量克隆拚花和冰山表三角洲湖
可以使用Databricks克隆功能將數據從Parquet或Iceberg數據源增量轉換為托管或外部Delta表。
Databricks克隆的Parquet和冰山結合功能習慣克隆Delta表而且把桌子轉換成三角洲湖.本文描述了此特性的用例和限製,並提供了示例。
預覽
此功能已在公共預覽.
請注意
該特性需要Databricks Runtime 11.3或以上版本。
何時使用克隆來增量攝取Parquet或Iceberg數據
Databricks提供了許多選項把數據輸入湖屋.Databricks建議在以下情況下使用clone來攝取Parquet或Iceberg數據:
請注意
這個詞源表表示要克隆的表和數據文件,而目標表指操作創建或更新的Delta表。
您正在執行從Parquet或Iceberg到Delta Lake的遷移,但需要繼續使用源表。
您需要在目標表和接收追加、更新和刪除的生產源表之間維護僅攝取的同步。
你想要創建一個ACID-compliant用於報告、機器學習或批處理ETL的源數據快照。
克隆的語法是什麼?
Parquet和Iceberg的Clone使用與克隆Delta表相同的基本語法,支持淺克隆和深克隆。有關更多信息,請參見克隆類型.
Databricks建議對大多數工作負載使用增量克隆。Parquet和Iceberg的克隆支持使用SQL語法。
請注意
Parquet和Iceberg的克隆與克隆或轉換到Delta有不同的要求和保證。看到克隆Parquet和Iceberg表的要求和限製.
要使用文件路徑深度克隆Parquet或Iceberg表,請使用以下語法:
創建或取代表格<target_table_name>克隆拚花.' /路徑/來/數據`;創建或取代表格<target_table_name>克隆冰山.' /路徑/來/數據`;
要使用文件路徑淺克隆Parquet或Iceberg表,請使用以下語法:
創建或取代表格<target_table_name>淺克隆拚花.' /路徑/來/數據`;創建或取代表格<target_table_name>淺克隆冰山.' /路徑/來/數據`;
您還可以為注冊到metastore的Parquet表創建深克隆或淺克隆,如下例所示:
創建或取代表格<target_table_name>克隆<source_table_name>;創建或取代表格<target_table_name>淺克隆<source_table_name>;
克隆Parquet和Iceberg表的要求和限製
無論是使用深克隆還是淺克隆,克隆發生後應用到目標表的更改都不能同步回源表。使用clone的增量同步是單向的,允許對源表的更改自動應用到目標Delta表。
以下附加限製適用於克隆與Parquet和Iceberg表:
在克隆和使用表名標識源表之前,必須將帶分區的Parquet表注冊到Hive metastore之類的目錄。不能對帶分區的Parquet表使用基於路徑的克隆語法。
不能克隆經曆過分區演變的冰山表。
您隻能通過路徑訪問冰山表;不支持表名。
Unity Catalog不支持淺克隆。
請注意
在Databricks Runtime 11.3中,該操作不進行文件級統計。因此,目標表不能從Delta Lake數據跳過中受益。在Databricks Runtime 12.0及以上版本中收集文件級統計信息。