本教學課程說明如何建立及部署工作,持續將 MySQL 資料庫中變更的資料複製到 BigQuery 資料表。
目標
在本教學課程中,您將執行下列作業:
- 在 Compute Engine 上部署 MySQL 資料庫。
- 設定 MySQL 資料庫以啟用複製功能。
- 建立及執行 Cloud Data Fusion 複製作業。
- 在 BigQuery 中查看結果。
費用
在本文件中,您會使用 Google Cloud的下列計費元件:
如要根據預測用量估算費用,請使用 Pricing Calculator。
執行複製作業時,系統會收取 Dataproc 叢集費用,並產生 BigQuery 處理費用。為盡量減少這類費用,我們強烈建議您使用 BigQuery 固定費率計價模式。
事前準備
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
- 建立公開的 Cloud Data Fusion 執行個體,版本須為 6.3.0 以上。如果建立私人執行個體,請設定虛擬私有雲網路對等互連。
- 建立執行個體時,按一下「新增加速器」,然後選取「複製」核取方塊,即可啟用複製功能。
- 如要在現有執行個體中啟用這項功能,請參閱「啟用複製功能」。
下載 MySQL Server Docker 映像檔。
上傳 Docker 映像檔至 Artifact Registry。
部署新的 VM 執行個體上的 Docker 映像檔。
在 Compute Engine 的「Disks」頁面中,將磁碟大小變更為
500 GB
,然後重新啟動 VM。為 VM 執行個體建立防火牆。
安裝 Sakila 範例資料庫。
將 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」(部署複製工作)。
- 在「複製工作詳細資料」頁面中,按一下「開始」。
在「Replication」(複寫) 頁面中,按一下複寫作業的「Name」(名稱)。
按一下「監控」。
前往 Google Cloud 控制台的「BigQuery」頁面。
在左側面板中選取專案名稱,展開資料集清單。
如要查看結果,請選取
sakila
資料集,然後選取資料表。- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
- 進一步瞭解 Cloud Data Fusion 中的複製功能。
- 請參閱 Replication API 參考資料。
- 完成將資料從 SQL Server 複製到 BigQuery 的教學課程。
- 完成「將 Oracle 資料複製到 BigQuery」教學課程。
必要的角色
如要取得本教學課程所需的權限,請參閱「使用 IAM 控管存取權」和「授予服務帳戶使用者權限」。
在 Compute Engine 中安裝 MySQL
在 MySQL 資料庫中啟用複製功能
如要啟用複製功能,請在 MySQL 中設定變更資料擷取 (CDC)。
建立及執行 Cloud Data Fusion 複製工作
上傳 JDBC 驅動程式
建立工作
啟動工作
複製作業會從「佈建中」轉換為「啟動中」,然後進入「執行中」狀態。在執行狀態下,複寫工作會將您選取的資料表資料初始快照載入 BigQuery。在此狀態下,表格的狀態會列為「Snapshotting」(建立快照)。將初始快照載入 BigQuery 後,對資料表所做的任何變更都會複製到 BigQuery,且資料表的狀態會列為「正在複製」。
監控工作
您可以啟動及停止複製作業、查看設定和記錄,以及監控複製作業。
您可以在「Replication job details」(複寫工作詳細資料) 頁面監控複寫工作活動。
在 BigQuery 中查看結果
複製作業會在 BigQuery 中建立複製的資料集和資料表,並沿用對應的 MySQL 資料庫和資料表名稱。
詳情請參閱 BigQuery 說明文件。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,請刪除含有該項資源的專案,或者保留專案但刪除個別資源。
完成本教學課程後,請清除您在Google Cloud 上建立的資源,這樣這些資源就不會占用配額,您日後也無須為其付費。下列各節將說明如何刪除或關閉這些資源。
刪除 Cloud Data Fusion 執行個體
請按照 操作說明刪除 Cloud Data Fusion 執行個體。