本文說明使用 BigQuery Connector for SAP 時,如何從串流資料複製遷移至透過 Pub/Sub 進行 CDC 複製。
如果您是 BigQuery Connector for SAP 的現有使用者,且希望 BigQuery 資料表直接反映來源 SAP 資料表的變更,則可以透過 Pub/Sub 使用 CDC 複製功能。當 SAP 中的資料變更時,BigQuery Connector for SAP 會擷取變更,並透過 Pub/Sub 直接傳送至 BigQuery 資料表,套用變更時不會重複。
事前準備
開始之前,請先瞭解 Pub/Sub 服務及其術語。
請確認您或管理員已完成下列必要條件:
- 將 BigQuery Connector for SAP 更新至 2.9 以上版本。
- 啟用 Google Cloud API。
- 設定驗證。
- 建立死信主題。
更新 BigQuery Connector for SAP
如要透過 Pub/Sub 使用 CDC 複製功能,請將 BigQuery Connector for SAP 更新至 2.9 以上版本。如要瞭解如何更新連接器,請參閱「更新 BigQuery Connector for SAP」。
啟用 Google Cloud API
如要透過 Pub/Sub 進行 CDC 複製,請務必啟用下列 API:
- Pub/Sub API
- BigQuery API
- IAM Service Account Credentials API
如要瞭解如何啟用 API,請參閱「啟用 API」。 Google Cloud
設定驗證方法
如要透過 Pub/Sub 使用 CDC 複寫功能,除了現有的 BigQuery 角色外,您還需要授予用於授權的服務帳戶 Pub/Sub 編輯者角色。請確認服務帳戶具備下列角色:
- Pub/Sub 編輯者
- BigQuery 資料編輯者
- BigQuery 工作使用者
如要瞭解如何授予角色,請參閱「授予單一角色」。
如要瞭解支援的驗證方法和如何設定驗證,請參閱「設定驗證」。
建立無效信件主題
如要處理 BigQuery 訂閱項目無法寫入目標 BigQuery 資料表的訊息,建議您建立無法傳送的訊息主題。這個無法傳送的郵件主題會做為獨立佇列,在所有重試次數用盡後,Pub/Sub 會自動發布無法傳送的郵件。
遷移步驟
請按照下列高階遷移步驟操作:
- 停止 SAP LT Replication Server 複製設定。
- 準備已去重複的 CDC 資料表。
- 透過 BigQuery Connector for SAP 啟動遷移作業。
- 設定複製設定。
- 啟用 SAP LT Replication Server 複製設定。
- 在 BigQuery 中檢查複製作業。
停止 SAP LT Replication Server 複製設定
在 SAP GUI 中,輸入交易代碼
LTRC
。停止要遷移的 SAP LT Replication Server 複製設定。
準備去重複的 CDC 資料表
在 BigQuery 中,您需要從現有的 BigQuery 暫存資料表建立重複資料刪除的 CDC 資料表。透過 Pub/Sub 使用 CDC 複寫時,這個 CDC 資料表會成為 BigQuery 中 SAP 資料的外部資料表。
如要準備已去重複的 CDC 資料表,請按照下列步驟操作:
前往 Google Cloud 控制台的「BigQuery」頁面。
按一下 [Compose new query] (撰寫新查詢)。
從現有的 BigQuery 中繼資料表建立 CDC 資料表:
在「Query editor」(查詢編輯器) 文字區塊中,輸入下列查詢,即可複製現有的 BigQuery 中繼資料表結構:
CREATE TABLE CDC_TABLE LIKE STAGING_TABLE
更改下列內容:
CDC_TABLE
:BigQuery CDC 資料表的名稱。STAGING_TABLE
:BigQuery 暫存資料表的名稱。
按一下「執行」。
這個步驟會建立沒有主鍵的 CDC 資料表結構。
修改 CDC 資料表定義,加入主鍵:
在「Query editor」(查詢編輯器) 文字區塊中,輸入下列查詢來新增主鍵:
ALTER TABLE CDC_TABLE ADD PRIMARY KEY(PRIMARY_KEYS) NOT INFORCED
更改下列內容:
CDC_TABLE
:CDC 資料表的名稱。PRIMARY_KEYS
:以半形逗號分隔的主鍵清單。 您可以從來源 SAP 資料表擷取主鍵清單。
按一下「執行」。
將 CDC 資料表中的重複資料刪除:
在「Query editor」(查詢編輯器) 文字區塊中,輸入下列查詢來重複資料刪除 CDC 資料表:
INSERT INTO CDC_TABLE (COLUMN_NAMES ) SELECT COLUMN_NAMES FROM STAGING_TABLE WHERE is_deleted = false QUALIFY ROW_NUMBER() OVER( PARTITION BY PRIMARY_KEYS ORDER BY recordstamp DESC ) = 1
更改下列內容:
CDC_TABLE
:CDC 資料表的名稱。COLUMN_NAMES
:以逗號分隔的資料欄名稱清單。您可以從 SAP 來源系統擷取資料欄名稱清單。 或者,您也可以使用星號 (*) 選取所有資料欄。PRIMARY_KEYS
:CDC 資料表的主鍵。STAGING_TABLE
:暫存資料表的名稱。
按一下「執行」。
或者,您也可以在 BigQuery Studio 中使用「複製」選項,複製來源暫存資料表結構並建立 CDC 資料表。
透過 BigQuery Connector for SAP 啟動遷移作業
- 在 SAP GUI 中,輸入
/GOOG/SLT_SETTINGS
交易,並在前面加上/n
:/n/GOOG/SLT_SETTINGS
- 在「Google Cloud Partner」欄位的下拉式選單中,選取「BigQuery」。
- 在
/GOOG/SLT_SETTINGS
交易的啟動畫面中,從「設定表格」下拉式選單選取「大量轉移」。 - 在「大量移轉金鑰」欄位中,指定要移轉的 SAP LT 複寫伺服器複寫設定的大量移轉 ID。
- 按一下「執行」圖示。
- 在「BigQuery 設定維護 - 大量轉移」畫面中,按一下「遷移」。
- 在遷移確認對話方塊中,按一下「是」。
設定複製設定
- 在 SAP GUI 中,輸入
/GOOG/SLT_SETTINGS
交易,並在前面加上/n
:/n/GOOG/SLT_SETTINGS
- 在「Google Cloud Partner」(Google Cloud 合作夥伴) 欄位的下拉式選單中,選取「BigQuery CDC via Pub/Sub」(透過 Pub/Sub 進行 BigQuery CDC)。
- 在
/GOOG/SLT_SETTINGS
交易的啟動畫面中,從「設定表格」下拉式選單選取「大量轉移」。 - 在「Mass Transfer Key」欄位中,指定您在「透過 BigQuery Connector for SAP 啟動遷移作業」一節中遷移的 SAP LT Replication Server 複製設定大量移轉 ID。
- 按一下「執行」圖示。系統會顯示「BigQuery 設定維護 - 大量移轉」畫面。
- 確認畫面顯示已遷移的 SAP LT Replication Server 複製設定。
如要設定 SAP LT Replication Server 複製作業,請指定下列表格屬性:
在「External Table Name」(外部資料表名稱) 欄位中,輸入您在先前步驟「準備已去重複的 CDC 資料表」中建立的 CDC 資料表名稱。
如要透過 Pub/Sub 啟用 CDC 複製到 BigQuery,請選取「Repl CPS」核取方塊。
在「Pub/Sub Schema」(Pub/Sub 結構定義) 欄位中,輸入 Pub/Sub 結構定義的名稱。BigQuery Connector for SAP 會自動建立或更新現有的 Avro 結構定義,以符合 SAP 資料表定義。
在「Pub/Sub Topic」(Pub/Sub 主題) 欄位中,輸入要發布訊息的 Pub/Sub 主題名稱。BigQuery Connector for SAP 會自動建立主題。
在「Pub/Sub Subscription」(Pub/Sub 訂閱項目) 欄位中,輸入 BigQuery 訂閱項目的名稱,該訂閱項目會取用 Pub/Sub 主題中的訊息,並寫入 BigQuery。BigQuery Connector for SAP 會自動建立訂閱項目,並連結至上一個步驟中指定的主題。
在「Dead Letter Queue」(無法傳送的訊息佇列) 欄位中,輸入 Pub/Sub 無法傳送的訊息主題名稱。這個無效信件主題會接收 Pub/Sub 無法透過 BigQuery 訂閱項目寫入 BigQuery 的訊息。
如要為資料表啟用變更資料擷取 (CDC) 功能,請選取「Act. CDC」(啟用 CDC) 核取方塊。
如要最佳化初始載入的效能,請勾選「Cache Val」(快取驗證) 核取方塊。
選取這個欄位後,連接器就能以最高效能傳輸大量資料。系統會間隔執行管道驗證,並快取結果。 Google Cloud 這個連接器可快速轉換資料,並直接將資料傳送至 Pub/Sub。詳情請參閱「快取驗證」。
啟用 SAP LT Replication Server 複製設定
在 SAP GUI 中,輸入交易代碼
LTRC
。啟用設定。
啟用設定會建立所有必要的 Pub/Sub 相關資源,並啟動複製作業。設定的 CDC 資料表會反映所有新的未處理變更。
在 BigQuery 中檢查複製作業
在 BigQuery 中,確認 CDC 資料表中的值與來源 SAP 資料表中的值相同。如要進一步瞭解如何執行這項操作,請參閱「驗證複製到 BigQuery 的資料」。
疑難排解
如要瞭解如何診斷及解決遷移複寫作業時可能遇到的問題,請參閱 BigQuery Connector for SAP 疑難排解指南。
取得支援
如需協助解決遷移步驟的問題,請收集所有可用的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP on Google Cloud支援服務」。