將資料從 MySQL 複製到 BigQuery

本教學課程說明如何建立及部署工作,持續將 MySQL 資料庫中變更的資料複製到 BigQuery 資料表。

在 Compute Engine 中安裝 MySQL

  1. 下載 MySQL Server Docker 映像檔。

  2. 上傳 Docker 映像檔至 Artifact Registry。

  3. 部署新的 VM 執行個體上的 Docker 映像檔。

  4. 在 Compute Engine 的「Disks」頁面中,將磁碟大小變更為 500 GB,然後重新啟動 VM。

    前往「Disks」(磁碟) 頁面

  5. 為 VM 執行個體建立防火牆

  6. 安裝 Sakila 範例資料庫

在 MySQL 資料庫中啟用複製功能

如要啟用複製功能,請在 MySQL 中設定變更資料擷取 (CDC)

建立及執行 Cloud Data Fusion 複寫工作

上傳 JDBC 驅動程式

  1. 將 MySQL JDBC 驅動程式 (版本 8 以上) 下載至本機電腦。

  2. 在 Cloud Data Fusion 網頁介面中上傳 JDBC 驅動程式

    使用這些值設定 JDBC 驅動程式:

    • 在「Name」(名稱) 欄位中輸入 mysql
    • 保留「Version」(版本) 欄位的預設值。
    • 在「Class Name」(類別名稱) 欄位中輸入 com.mysql.jdbc.Driver

建立工作

  1. 在 Cloud Data Fusion 網頁介面中,按一下「Replication」(複寫)

  2. 按一下 「建立複寫工作」

  3. 在「Create new replication job」(建立新的複寫工作) 頁面中,指定複寫工作名稱,然後按一下「Next」(下一步)

  4. 設定來源:

    1. 選取「MySQL」MySQL做為來源。
    2. 在「Host」(主機) 部分,輸入要從中讀取資料的 MySQL 伺服器主機名稱。
    3. 在「通訊埠」中,輸入用來連線至 MySQL 伺服器的通訊埠:3306
    4. 在「JDBC Plugin Name」部分,選取 mysql 或您設定 JDBC 驅動程式時指定的名稱。
    5. 在「Database Name」(資料庫名稱) 中輸入 sakila
    6. 在「憑證」部分,輸入使用者名稱和密碼,存取 MySQL 伺服器。
  5. 點選「下一步」

  6. 設定目標:

    1. 選取 BigQuery 目標。
    2. 系統會自動偵測專案 ID服務帳戶金鑰。 請保留預設值。
    3. 選用:在「進階」部分,設定暫存值區的名稱、位置、載入間隔、暫存表格前置字元,以及表格或資料庫遭捨棄時的行為。
  7. 點選「下一步」

  8. 如果連線成功,系統會顯示 Sakila 範例資料庫表格清單。在本教學課程中,請選取要複製的幾個表格和事件,例如「插入」、「更新」和「刪除」事件。

  9. 選用:設定進階屬性。在本教學課程中,您可以使用預設設定。

  10. 點選「下一步」

  11. 在「檢查評估」頁面中,按一下任一表格的「查看對應」,即可評估複製期間可能發生的結構定義問題、缺少的功能或連線問題。如有問題,請務必先解決問題,才能繼續操作。在本教學課程中,如果任何資料表發生問題,請返回選取資料表的步驟,然後選擇沒有問題的資料表或事件 (插入、更新或刪除)。

    如要進一步瞭解如何將來源資料庫的資料類型轉換為 BigQuery 目的地資料類型,請參閱「複寫資料類型」。

  12. 點選「下一步」

  13. 查看摘要複製工作詳細資料,然後按一下「Deploy replication job」(部署複製工作)

啟動工作

  • 在「複製工作詳細資料」頁面中,按一下「開始」

複製作業會從「佈建中」轉移至「啟動中」,然後進入「執行中」狀態。在執行狀態下,複寫工作會將您選取的資料表資料初始快照載入 BigQuery。在此狀態下,表格的狀態會列為「Snapshotting」(建立快照)。初始快照載入 BigQuery 後,對資料表所做的任何變更都會複製到 BigQuery,且資料表的狀態會列為「正在複製」

監控工作

您可以啟動及停止複製作業、查看設定和記錄,以及監控複製作業。

您可以在「Replication job details」(複寫工作詳細資料) 頁面監控複寫工作活動。

  1. 在「Replication」(複製) 頁面中,按一下複製工作「Name」(名稱)

  2. 按一下「監控」

在 BigQuery 中查看結果

複製作業會在 BigQuery 中建立複製的資料集和資料表,並沿用對應的 MySQL 資料庫和資料表名稱。

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

    前往「BigQuery」

  2. 在左側面板中選取專案名稱,展開資料集清單。

  3. 如要查看結果,請選取 sakila 資料集,然後選取資料表。

詳情請參閱 BigQuery 說明文件