使用 Dataflow 將外部 Iceberg 資料表匯入 Lakehouse 執行階段目錄

支援的表格格式

僅支援 Apache Iceberg V2 資料表,不支援 Iceberg V1 資料表。如果您有現有的 Iceberg V1 表格,必須先將其升級至 V2 (例如執行 ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); 或使用類似的引擎作業),才能匯入 Lakehouse 執行階段目錄。

在某些情況下,您可能需要將外部 Iceberg REST 目錄 (IRC) 資料表連結至現有的 Lakehouse for Apache Iceberg 資料表。您可以使用 Dataflow 的工作建構工具 UI,以低程式碼或無程式碼的方式建構管道,將外部開放原始碼 Iceberg 目錄資料表遷移至 Lakehouse。這個程序可讓您將資料整合至統一的 Lakehouse 管理 Iceberg 格式,以進行跨引擎分析。

使用下列連線詳細資料,從外部 Iceberg 目錄匯入資料。

事前準備

如要匯入資料,您需要:

  1. 外部 Iceberg REST 目錄的連線資訊。例如:目錄名稱、命名空間、資料表名稱、帳戶 URI,以及存取目錄的角色。
  2. Lakehouse Iceberg 目錄、命名空間和資料表,用於匯入資料。

支援與限制

使用 Dataflow 將外部 Iceberg 目錄中的資料匯入 Lakehouse for Apache Iceberg 時,有下列限制:

  • 這項功能支援從外部可用的 Iceberg 提供者讀取資料,並將支援 IRC (Iceberg REST 目錄) 的資料匯入 Lakehouse。不支援其他 Iceberg 目錄類型。
  • 這項功能支援批次和串流管道。

匯入外部 Iceberg 目錄資料表

如要將外部 Iceberg 目錄資料表匯入 Lakehouse for Apache Iceberg,請完成下列步驟:

  1. 前往 Google Cloud 控制台的 Lakehouse「Metastore」Metastore頁面。

    前往 Lakehouse 執行階段目錄

  2. 選取要匯入資料的目錄、命名空間和資料表。

  3. 在「Table details」(資料表詳細資料) 頁面上,按一下「Import table」(匯入資料表),然後選取「From Apache Iceberg REST Catalog (Batch)」(從 Apache Iceberg REST 目錄匯入 (批次))

    系統隨即會開啟 Dataflow 的「Job builder」(工作建立工具) 頁面。

  4. 在「來源」部分:

    1. 如要展開 Iceberg 資料表來源面板,請按一下展開箭頭。

    2. 在「Iceberg table」(Iceberg 資料表) 欄位中,輸入 Apache Iceberg 資料表的 ID。

    3. 在「目錄名稱」欄位中,輸入目錄名稱。

    4. 在「Filter」欄位中,輸入要使用的 Iceberg 篩選條件。例如:id > 5

    5. 選用:如要指定來源資料表資料欄的變更,請使用「保留資料欄」或「捨棄資料欄」部分。

    6. 在「目錄屬性」專區的「目錄類型」清單中,選取目錄類型。

    7. 在「目錄 URI」欄位中,輸入目錄的 URI。例如:http://localhost:8181

    8. 在「Warehouse name」(倉庫名稱) 欄位中,輸入目錄名稱。

      對於部分外部 Iceberg REST 目錄供應商,倉儲會經過抽象化,目錄名稱則會以倉儲名稱的形式提供。

    9. 在「Authentication type」(驗證類型) 清單中,選取驗證類型。例如:OAUTH2

  5. 選用:在「轉換」部分,將轉換新增至來源資料。

  6. 在「Sink」(接收器) 部分:

    1. 選用:查看「Lakehouse table」接收器面板。這個面板中的資訊 (例如 Lakehouse 資料表、目錄名稱和倉庫位置) 通常會預先填入。
  7. 在「Dataflow options」(Dataflow 選項) 部分,按一下「Run job」(執行工作)

後續步驟