本教學課程說明如何建立及部署工作,持續將 MySQL 資料庫中變更的資料複製到 BigQuery 資料表。
在 Compute Engine 中安裝 MySQL
下載 MySQL Server Docker 映像檔。
上傳 Docker 映像檔至 Artifact Registry。
部署新的 VM 執行個體上的 Docker 映像檔。
在 Compute Engine 的「Disks」頁面中,將磁碟大小變更為
500 GB
,然後重新啟動 VM。為 VM 執行個體建立防火牆。
安裝 Sakila 範例資料庫。
在 MySQL 資料庫中啟用複製功能
如要啟用複製功能,請在 MySQL 中設定變更資料擷取 (CDC)。
建立及執行 Cloud Data Fusion 複寫工作
上傳 JDBC 驅動程式
將 MySQL JDBC 驅動程式 (版本 8 以上) 下載至本機電腦。
在 Cloud Data Fusion 網頁介面中上傳 JDBC 驅動程式。
使用這些值設定 JDBC 驅動程式:
- 在「Name」(名稱) 欄位中輸入
mysql
。 - 保留「Version」(版本) 欄位的預設值。
- 在「Class Name」(類別名稱) 欄位中輸入
com.mysql.jdbc.Driver
。
- 在「Name」(名稱) 欄位中輸入
建立工作
在 Cloud Data Fusion 網頁介面中,按一下「Replication」(複寫)。
按一下
「建立複寫工作」。在「Create new replication job」(建立新的複寫工作) 頁面中,指定複寫工作名稱,然後按一下「Next」(下一步)。
設定來源:
- 選取「MySQL」MySQL做為來源。
- 在「Host」(主機) 部分,輸入要從中讀取資料的 MySQL 伺服器主機名稱。
- 在「通訊埠」中,輸入用來連線至 MySQL 伺服器的通訊埠:
3306
。 - 在「JDBC Plugin Name」部分,選取
mysql
或您設定 JDBC 驅動程式時指定的名稱。 - 在「Database Name」(資料庫名稱) 中輸入
sakila
。 - 在「憑證」部分,輸入使用者名稱和密碼,存取 MySQL 伺服器。
點選「下一步」。
設定目標:
- 選取 BigQuery 目標。
- 系統會自動偵測專案 ID 和服務帳戶金鑰。 請保留預設值。
- 選用:在「進階」部分,設定暫存值區的名稱、位置、載入間隔、暫存表格前置字元,以及表格或資料庫遭捨棄時的行為。
點選「下一步」。
如果連線成功,系統會顯示 Sakila 範例資料庫表格清單。在本教學課程中,請選取要複製的幾個表格和事件,例如「插入」、「更新」和「刪除」事件。
選用:設定進階屬性。在本教學課程中,您可以使用預設設定。
點選「下一步」。
在「檢查評估」頁面中,按一下任一表格的「查看對應」,即可評估複製期間可能發生的結構定義問題、缺少的功能或連線問題。如有問題,請務必先解決問題,才能繼續操作。在本教學課程中,如果任何資料表發生問題,請返回選取資料表的步驟,然後選擇沒有問題的資料表或事件 (插入、更新或刪除)。
如要進一步瞭解如何將來源資料庫的資料類型轉換為 BigQuery 目的地資料類型,請參閱「複寫資料類型」。
點選「下一步」。
查看摘要複製工作詳細資料,然後按一下「Deploy replication job」(部署複製工作)。
啟動工作
- 在「複製工作詳細資料」頁面中,按一下「開始」。
複製作業會從「佈建中」轉移至「啟動中」,然後進入「執行中」狀態。在執行狀態下,複寫工作會將您選取的資料表資料初始快照載入 BigQuery。在此狀態下,表格的狀態會列為「Snapshotting」(建立快照)。初始快照載入 BigQuery 後,對資料表所做的任何變更都會複製到 BigQuery,且資料表的狀態會列為「正在複製」。
監控工作
您可以啟動及停止複製作業、查看設定和記錄,以及監控複製作業。
您可以在「Replication job details」(複寫工作詳細資料) 頁面監控複寫工作活動。
在「Replication」(複製) 頁面中,按一下複製工作「Name」(名稱)。
按一下「監控」。
在 BigQuery 中查看結果
複製作業會在 BigQuery 中建立複製的資料集和資料表,並沿用對應的 MySQL 資料庫和資料表名稱。
前往 Google Cloud 控制台的「BigQuery」頁面。
在左側面板中選取專案名稱,展開資料集清單。
如要查看結果,請選取
sakila
資料集,然後選取資料表。
詳情請參閱 BigQuery 說明文件。