增量克隆拚花和冰山表三角洲湖

可以使用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及以上版本中收集文件級統計信息。