將 Dataproc Metastore 中繼資料遷移至 BigLake 中繼存放區

本文說明如何使用 BigLake 中繼資料庫遷移工具,協助您將資料庫、資料表和分區中繼資料從 Dataproc Metastore 服務遷移至 BigLake 中繼資料庫。

事前準備

  1. 為 Google Cloud 專案啟用計費功能。瞭解如何檢查專案是否已啟用計費功能
  2. 啟用 BigQuery 和 Dataflow API。

    啟用 API

  3. 選用:進一步瞭解下列主題:

必要的角色

如要取得執行遷移工具所需的權限,請要求管理員授予您下列 IAM 角色:

  • 在 BigQuery 中建立資料庫、資料表和區隔: 在執行遷移工作的 Dataflow 服務帳戶中,將 BigQuery 資料編輯者 (roles/bigQuery.dataEditor) 角色指派給該帳戶。
  • 授予 gRPC 端點的 Dataproc Metastore 中繼資料讀取權限: 在執行遷移作業的 Dataflow 服務帳戶上,授予中繼資料檢視者角色 (roles/metastore.metadataViewer)。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

遷移工具的運作方式

遷移工具會啟動 Dataflow 工作,從 Dataproc Metastore 擷取中繼資料,並將其攝入 BigLake 中繼資料庫。

您無法直接從 BigLake 中繼資料庫存取 Dataproc Metastore 資料。您必須執行這項遷移程序,才能在現有中繼資料上執行工作負載或工作。如果您沒有使用這項工具,就必須手動從 Dataproc Metastore 擷取中繼資料,並將其匯入 BigLake 中繼存放區。

注意事項

  • 遷移工具支援使用 gRPC 或 Thrift 端點通訊協定的 Dataproc Metastore 執行個體。
  • 每次執行遷移工具時,Dataflow 工作會將 Dataproc Metastore 中的中繼資料完整複製到 BigLake 中繼資料儲存庫。

限制

遷移工具不會遷移與資料庫和資料表區隔無關的中繼資料。如果工具無法遷移資料庫或資料表,就會在包含 Dataflow 工作的專案 Cloud Logging 例項中記錄訊息。

記錄錯誤後,Dataflow 工作會繼續處理管道中的其他資料表和資料庫。

使用工具執行遷移作業

如要使用這項工具執行遷移作業,請執行下列 gcloud dataflow flex-template 指令,建立 Dataflow 彈性範本工作。

gcloud dataflow flex-template run JOB_NAME" \
   --template-file-gcs-location "gs://bigquery-metastore-migration/dpms_to_blms_migration.json" \
   --parameters bigQueryMetastoreProjectId="DESTINATION_BIGQUERY_PROJECT_ID" \
   --parameters endpointUri="METASTORE_URI" \
   --parameters bigQueryMetastoreDatabaseLocation=DATABASE_LOCATION \
  [--network=NETWORK] \
  [--subnetwork=SUBNETWORK]

更改下列內容:

  • JOB_NAME:要執行遷移作業的 Dataflow 工作名稱。
  • DESTINATION_BIGQUERY_PROJECT_ID:Dataflow 工作寫入資料的 BigQuery 專案 ID。
  • METASTORE_URI:Dataproc Metastore 服務的 URI。
  • DATABASE_LOCATION:BigLake Metastore 寫入資料的位置。舉例來說,如果您將這個值設為 US,工具建立的所有 BigQuery 資源都會儲存在這個位置。
  • NETWORK:選用:執行 Dataflow 工作的網路。僅適用於使用 Thrift 端點的 Dataproc Metastore 服務。
  • SUBNETWORK:選用:執行 Dataflow 工作的子網路。僅適用於使用 Thrift 端點的 Dataproc Metastore 服務。

後續步驟