本教學課程將說明如何建立及部署工作,以便持續將變更的資料從 Microsoft SQL Server 資料庫複製到 BigQuery 資料表。
目標
在本教學課程中,您將執行下列作業:
- 在 SQL Server 資料庫中啟用變更資料擷取 (CDC) 功能。
- 建立並執行 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Data Fusion, BigQuery, and Cloud Storage APIs.
- 在 6.3.0 以上版本建立公開 Cloud Data Fusion 執行個體。如果您建立私人執行個體,請設定 VPC 網路互連。
- 建立執行個體時,請按一下「新增加速器」,然後選取「複製」核取方塊,啟用複製功能。
- 如要在現有執行個體中啟用複製功能,請參閱「啟用複製功能」。
如要進一步瞭解網路,請參閱「搭配使用 HAProxy 和 Cloud Data Fusion 來瀏覽複雜的網路拓撲」。
必要的角色
如要取得本教學課程所需的權限,請參閱「使用 IAM 進行存取權控管」和「授予服務帳戶使用者權限」。
選用:設定 SQL Server VM 執行個體
下載 AdventureWorks2017 (OLTP) 資料庫,然後將資料載入 SQL Server 執行個體。
在 SQL Server 資料庫中啟用 CDC
如要進行複製,請在資料庫和要複製的資料表上啟用變更資料擷取 (CDC)。
建立及執行 Cloud Data Fusion 複製工作
上傳 JDBC 驅動程式
下載 SQL Server JDBC 驅動程式至本機電腦。
在 Cloud Data Fusion 網頁介面中,上傳 JDBC 驅動程式。使用這些值設定 JDBC 驅動程式:
- 在「Name」(名稱) 欄位中輸入
sqlserver
。 - 在「Class Name」欄位中輸入
com.microsoft.sqlserver.jdbc.SQLServerDriver
。 - 保留「Version」欄位的預設值。
- 在「Name」(名稱) 欄位中輸入
建立工作
在 Cloud Data Fusion 網頁介面中,按一下「Replication」(複製)。
按一下
「建立複寫工作」。在「Create new replication job」(建立新的複製工作) 頁面中,指定複製工作「Name」,然後按一下「Next」。
設定來源:
- 選取「Microsoft SQL Server」做為來源。
- 在「Host」 中,輸入要讀取的 SQL Server 主機名稱。
- 在「Port」 中,輸入用於連線至 SQL Server 的通訊埠:
1433
。 - 針對「JDBC 外掛程式名稱」,選取
sqlserver
或您在設定 JDBC 驅動程式時指定的名稱。 - 在「Database name」(資料庫名稱) 中輸入
AdventureWorks2017
。 - 在「憑證」部分中,輸入存取 SQL Server 的使用者名稱和密碼。
點按「Next」。
設定目標:
- 選取 BigQuery 目標。
- 系統會自動偵測專案 ID 和服務帳戶金鑰。請保留預設值。
- 選用:在「進階」部分,您可以設定 Cloud Storage 值區的名稱和位置、載入間隔、暫存資料表前置字串,以及刪除資料表或資料庫時的行為。
點按「Next」。
如果連線成功,系統會顯示
AdventureWorks2017
資料表清單。在本教學課程中,請選取幾個資料表和事件,例如Insert
、Update
和Delete
事件。選用步驟:設定進階屬性。在本教學課程中,您可以接受預設設定。
點按「Next」。
在「評估評估結果」頁面上,按一下任一表格的「查看對應項目」,即可評估結構定義問題、缺少的功能,或複製期間可能發生的連線問題。您必須先解決問題,才能繼續操作。在本教學課程中,如果有任何資料表發生問題,請返回選取資料表的步驟,然後選取沒有問題的資料表或事件。
如要進一步瞭解從來源資料庫轉換至 BigQuery 目的地的資料類型,請參閱「複製資料類型」。
點選 [Back] (上一步)。
點按「Next」。
查看複本工作摘要詳細資料,然後按一下「部署複本工作」。
開始工作
- 在「複製工作詳細資料」頁面中,按一下「開始」。
複寫工作會從「佈建中」變更為「啟動中」,然後變更為「執行中」狀態。在執行狀態下,複製工作會將所選資料表 (例如 People 資料表) 的初始快照載入 BigQuery。在這個狀態下,People 資料表的狀態會列為「Snapshotting」。初始快照載入 BigQuery 後,對 People 資料表所做的任何變更都會複製到 BigQuery。資料表的狀態會列為「複製中」。
監控工作
您可以啟動及停止複製作業、查看複製作業的設定和記錄,以及監控複製作業。
您可以透過「複本工作詳細資料」頁面監控複本工作活動。
在「複寫」頁面中,按一下複寫工作「名稱」。
按一下「監控」。
在 BigQuery 中查看結果
複製工作會在 BigQuery 中建立複製的資料集和資料表,名稱會繼承對應的 SQL Server 資料庫和資料表名稱。
在Google Cloud 控制台開啟 BigQuery。
在左側面板中,按一下專案名稱,展開資料集清單。
選取
adventureworks2017
資料集,然後選取要查看的資料表。
詳情請參閱 BigQuery 說明文件。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,請刪除含有該項資源的專案,或者保留專案但刪除個別資源。
完成教學課程後,請刪除在Google Cloud上建立的資源。
刪除 VM 執行個體
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
刪除 Cloud Data Fusion 執行個體
請按照 操作說明刪除 Cloud Data Fusion 執行個體。
刪除專案
- 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 參考資料。
- 完成將資料從 MySQL 複製到 BigQuery的教學課程。
- 完成「將資料從 Oracle 複製到 BigQuery」教學課程。