本教學課程將說明如何部署工作,透過 Cloud Data Fusion Replication 持續將變更的資料從 Oracle 資料庫複製到 BigQuery 資料集。這項功能採用 Datastream 技術。
目標
在本教學課程中,您將執行下列作業:
- 設定 Oracle 資料庫,啟用輔助記錄功能。
- 建立並執行 Cloud Data Fusion 複製工作。
- 在 BigQuery 中查看結果。
費用
在本文件中,您會使用 Google Cloud的下列計費元件:
您可以使用 Pricing Calculator 根據預測用量產生預估費用。
執行複製作業時,系統會向您收取 Dataproc 叢集和 Cloud Storage 的費用,並產生 Datastream 和 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, Dataproc, Datastream, BigQuery, and Cloud Storage APIs.
- 在 6.3.0 以上版本建立公開 Cloud Data Fusion 執行個體。如果您建立私人執行個體,請設定 VPC 網路互連。
- 建立執行個體時,請按一下「新增加速器」,然後選取「複製」核取方塊,啟用複製功能。
- 如要在現有執行個體中啟用複製功能,請參閱「啟用複製功能」。
- 包含叢集的專案中 Dataproc 服務帳戶上的 Dataproc 工作站 (
roles/dataproc.worker
) - 包含叢集的專案中 Dataproc 服務帳戶的 Cloud Data Fusion Runner
- Cloud Data Fusion 服務帳戶和 Dataproc 服務帳戶的 DataStream 管理員 (
roles/datastream.admin
)
必要的角色
如要取得連線至 Oracle 資料庫所需的權限,請管理員授予下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理存取權」。
選用:在 Compute Engine 中安裝 Oracle
本節說明如何設定範例資料庫。如果您已安裝 Oracle 資料庫,可以略過本節。
下載 Oracle 伺服器 Docker 映像檔。
如要瞭解此 Oracle Express Edition 11g 映像檔的限制,請參閱 Oracle 資料庫版本。
在新的 VM 執行個體上部署 Docker 映像檔。
在 Compute Engine 的「磁碟」頁面中,將磁碟大小變更為
500 GB
,然後重新啟動 VM。安裝人力資源範例結構定義。
為 Oracle 伺服器建立 VPC 網路對等互連或防火牆規則
如果 Oracle 資料庫不允許來自公開 IP 位址的流量,請在 Datastream VPC 和可存取 Oracle 資料庫的 VPC 之間,設定 VPC 網路對等互連。詳情請參閱「建立私人連線設定」。
如果 Oracle 資料庫允許來自公開 IP 的流量進入,請為 VM 執行個體建立防火牆規則,允許來自 Datastream 公開 IP的流量進入。
設定 Oracle 伺服器以啟用輔助記錄功能
請按照這篇文章的步驟設定 Oracle 來源資料庫。
建立及執行 Cloud Data Fusion 複製工作
建立工作
在 Cloud Data Fusion 網頁介面中,按一下「Replication」(複製)。
按一下
「建立複寫工作」。在「Create new replication job」(建立新的複製工作) 頁面中,指定複製工作「Name」,然後按一下「Next」。
設定來源:
選取「Oracle (由 Datastream 提供)」做為來源。
在「連線方式」部分,如果 Oracle 伺服器允許來自 Datastream 公開 IP 的入站流量,請選擇「IP 許可清單」。否則,請在「私人連線名稱」中選擇「私人連線 (虛擬私有雲對等互連)」,然後輸入您在「為 Oracle 伺服器建立虛擬私有雲網路對等互連或防火牆規則」專區中建立的虛擬私有雲對等互連名稱。
在「Host」(主機) 部分,輸入要讀取的 Oracle 伺服器主機名稱。
在「Port」(通訊埠) 部分,輸入用於連線至 Oracle 伺服器的通訊埠:1521。
在「System Identity」(系統 ID) 中輸入
xe
(Oracle 伺服器的範例資料庫名稱)。在憑證部分輸入存取 Oracle 伺服器的使用者名稱和密碼。
保留所有其他屬性。
點按「Next」。
設定目標:
選取 BigQuery 目標。
系統會自動偵測專案 ID和服務帳戶金鑰。請保留預設值。
選用步驟:在「進階」部分,您可以設定下列項目:
- 暫存值區的名稱和位置
- 載入間隔
- 暫存資料表前置字串
- 資料表或資料庫遭到捨棄時的行為
點按「Next」。
如果連線成功,系統會顯示資料表清單。在本教學課程中,請選取幾個資料表。
點按「Next」。
在「審查評估」頁面上,按一下任一表格的「查看對應」,即可評估結構定義問題、缺少的功能,或複製期間可能發生的連線問題。
如果發生任何問題,請先解決問題再繼續操作。在本教學課程中,如果任何表格發生問題,請執行下列操作:
- 返回選取資料表的步驟。
- 選取資料表或事件 (插入、更新或刪除) 時不會發生問題。
如要進一步瞭解從來源資料庫轉換至 BigQuery 目的地的資料類型,請參閱「複製資料類型」。
點選 [Back] (上一步)。
點按「Next」。
查看複本工作摘要詳細資料,然後按一下「部署複本工作」。
開始工作
在 Cloud Data Fusion 網頁介面中,前往「複本工作詳細資料」頁面。
按一下「啟動」。
複寫工作會從「佈建中」變更為「啟動中」,然後變更為「執行中」狀態。在執行狀態下,複製工作會將您選取的資料表資料初始快照載入至 BigQuery。在這個狀態下,表格的狀態會列為「快照」。初始快照載入 BigQuery 後,對資料表所做的任何變更都會複製到 BigQuery,資料表的狀態會列為「複製中」。
監控工作
您可以啟動及停止複製作業、查看複製作業的設定和記錄,以及監控複製作業。
您可以透過「複本工作詳細資料」頁面監控複本工作活動。
在「複製」頁面中,按一下所選複製工作「名稱」。
按一下「監控」。
在 BigQuery 中查看結果
複製工作會在 BigQuery 中建立複製的資料集和資料表,名稱會繼承對應的 Oracle 資料庫和資料表名稱。
前往 Google Cloud 控制台的「BigQuery」BigQuery頁面。
在左側面板中,按一下專案名稱,即可展開資料集清單。
選取
xe
資料集,然後選取要查看的資料表。
詳情請參閱 BigQuery 說明文件。
清除所用資源
如要避免系統向您的 Google Cloud 帳戶收取本教學課程中所用資源的相關費用,請刪除含有該項資源的專案,或者保留專案但刪除個別資源。
完成教學課程後,請清除您在Google Cloud 上建立的資源,這樣資源就不會占用配額,您日後也無須為其付費。下列各節將說明如何刪除或關閉這些資源。
刪除 VM 執行個體
前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。
找出要刪除的執行個體,然後選取對應的核取方塊。
如要刪除執行個體,請按一下 [Delete] (刪除)。
刪除 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.
後續步驟
- 進一步瞭解 Datastream。
- 進一步瞭解 Cloud Data Fusion 中的複製功能。
- 請參閱 Replication API 參考資料。
- 請參閱 Oracle 複製參考資料
- 完成將資料從 MySQL 複製到 BigQuery的教學課程。
- 完成將資料從 SQL Server 複製到 BigQuery教學課程。