本指南說明如何針對 2.0 和 2.1 版的 BigQuery Connector for SAP 執行營運作業,例如效能調整和版本更新。
調整複製效能
複製效能可能會受到多種因素影響。適用的具體因素可能因安裝作業而異,且可能隨時間變更。
下列各節將說明如何調整一些可能影響效能的常見因素。
如要進一步瞭解 BigQuery Connector for SAP 的複製效能,請參閱效能規劃。
設定表格的效能選項
在 SAP LT Replication Server 中,您可以為每個影響效能的資料表指定複製選項。
特別是大型資料表的複製效能,因為複製需要更多時間和資源,因此可從指定範圍和增加可用於資料表的並行複製工作數量上限中受益。
通常會變大的資料表包括 MSEG
、ACDOCA
和 MATDOC
等。
為大型資料表指定平行複製工作時,您需要平衡任何特定資料表允許的平行工作數量,以及批次轉移設定中允許的平行工作總數。貴機構也可能會限制您可為特定伺服器指定的並行複製工作數量。
如要設定表格的效能選項,請按照下列步驟操作:
在 SAP GUI 中輸入 SAP 交易
LTRS
。在「進階複製設定」畫面中,指定資料表的大量轉移設定 ID。
在「進階複寫設定」資料夾階層中,按一下「效能選項」資料夾,即可顯示已定義效能選項的表格。
如果所需表格未列於清單中,請在「Performance Options」資料夾上按一下滑鼠右鍵,然後選取「Add Table」。
指定資料表的名稱。
視需要指定下列選項:
- 在「General Performance Options」下方:
- 平行工作數量:設定可用於資料表的平行複製工作數量上限。
- 序號:將此資料表的複製作業優先於其他資料表的複製作業。
- 在「Initial Load Options」下方:
- 如果資料表不太大,請選取「Reading Type 1 Range Calculation」做為「Reading Type」。詳情請參閱「效能和 LTRS 進階複製設定」。
- 針對「Package Size」,請指定傳送至 SAP LT Replication Server 的記錄部分大小 (以位元組為單位)。
- 如果您選取使用範圍的 Reading Type,請定義適當的範圍。
- 在「Replication Option」下方:
- 針對「Logging Table Ranges」,請指定「No Ranges」做為最可靠的選項。
- 如果您選取「手動指定範圍」,請定義適當的範圍。
- 在「General Performance Options」下方:
按一下 [儲存]。
基準效能基準
為協助您評估複製效能,本節包含在 Google Cloud 測試系統中觀察到的基準效能數字。
由於許多不同的因素都會影響成效,因此成效數據可能會有所不同。
舉例來說,如果您的 SAP 系統未在 Google Cloud上執行,由於網路延遲和存取權杖相關的額外負擔,載入和複製率可能會比基準率慢。如果來源資料表的資料欄較少,或是您在獨立架構中將 SAP LT Replication Server 安裝在其專屬伺服器上,由於 SAP LT Replication Server 不必與來源系統爭奪資源,因此速度可能會更快。
觀察到的基準成效數字
以下效能數據代表測試期間, Google Cloud 針對每個來源系統類型觀察到的基準效能。在每個測試系統中,SAP LT Replication Server 都已安裝在 Compute Engine VM 上嵌入式架構中的 SAP 來源系統。SAP 來源系統在與目標 BigQuery 資料集相同的 Google Cloud 區域中執行。
如要瞭解測試系統的設定,請參閱「基準效能測試系統設定」。
如要查看成效數字,請按一下來源系統類型:
S/4HANA
- 表格:ACDOCA
- 3 億 430 萬筆記錄
- 477 個資料欄
- 初始載入
- 載入速率:平均每小時 350 百萬筆記錄
- 載入時間:平均 59 分鐘
- 複製
- 來源資料表變更率:平均每小時 5,000 萬筆記錄
- 最大複製速率:每小時平均 5000 萬筆記錄
ECC
- 表格:MSEG
- 2 億 300 萬筆記錄
- 188 個資料欄
- 初始載入
- 載入率:平均每小時 385 百萬筆記錄
- 載入時間:平均 32 分鐘
- 複製
- 來源資料表變更率:平均每小時 5,000 萬筆記錄
- 最大複製速率:平均每小時 6900 萬筆記錄
上述效能數據是Google Cloud 測試人員觀察到的基準。
在具有下列屬性的測試系統中,觀察到的效能較佳:
- SAP LT Replication Server 已安裝在獨立架構中的專屬 VM 上。
- 針對 S/4HANA 系統,我們發現由於 SAP LT 複製伺服器程序的獨立調整,獨立架構的初始載入率比嵌入式架構快約 42%。
- 針對 ECC 系統,我們發現獨立架構的初始載入率比嵌入式架構快上約 10%,這是因為 SAP LT 複製伺服器程序的獨立調整規模。
- 來源資料表的欄數較少。
- 記錄的總位元組大小較小。
如要瞭解可修改以改善效能的系統屬性,請參閱:
基準效能測試系統設定
本節所述的測試系統會產生「觀察到的基準效能數字」一節所列的基準效能數字。
包括 SAP 來源系統、SAP LT Replication Server 和 BigQuery 資料集在內的測試系統,全都執行在同一個 Google Cloud 區域的 Compute Engine VM 上。
在每個系統中,伺服器和工作負載的設計目的是模擬實際安裝環境中可能出現的較重工作負載和較高的複製量。
如要查看測試系統屬性,請按一下來源系統類型:
S/4HANA
- SAP LT Replication Server 安裝架構:
- 嵌入式架構
- 來源系統伺服器:
- 兩個應用程式伺服器,每個伺服器都位於以 N2 為基礎的 Compute Engine 自訂機器類型,且具有下列規格:
- vCPU:60
- 記憶體:324 GB
- CPU 平台:Intel Cascade Lake
m1-ultramem-80
Compute Engine VM 上的一個 SAP HANA 伺服器,規格如下:- vCPU:80
- 記憶體:1,900 GB
- CPU 平台:Intel Broadwell
- 兩個應用程式伺服器,每個伺服器都位於以 N2 為基礎的 Compute Engine 自訂機器類型,且具有下列規格:
- 軟體版本:
- S/4HANA 1909
- SAP LT Replication Server:S/4CORE 104 SP00
- 表格大小:
- 表格名稱:ACDOCA、總帳日記帳分錄委刊項資料
- 記錄數:3.43 億
- 欄數:477
- 每個應用程式伺服器的工作程序:
- 60 個對話方塊程序
- 220 個背景程序
- 在 SAP LT Replication Server 中載入設定:
- 工作:99
- 讀取類型:1 個範圍
- 計算:自動範圍
- 複製作業設定:
- 工作:99
- 使用 Key 欄位計算記錄資料表的範圍
- 128 個範圍
ECC
- SAP LT Replication Server 安裝架構:
- 嵌入式架構
- 來源系統伺服器:
- 兩個應用程式伺服器,每個伺服器都位於
n2-highmem-48
Compute Engine VM 上,且具有下列規格:- vCPU:60
- 記憶體:348 GB
- CPU 平台:Intel Cascade Lake
- 兩個應用程式伺服器,每個伺服器都位於
- 軟體版本:
- SAP NetWeaver:7.0 EHP2
- SAP LT Replication Server:DMIS 2011_1_700 SP17
- 表格大小:
- 表格:MSEG 材料庫存管理文件
- 記錄數:2.03 億
- 欄數:188
- 每個應用程式伺服器的工作程序:
- 60 個對話方塊程序
- 100 個背景程序
- 在 SAP LT Replication Server 中載入設定:
- 工作:99
- 讀取類型:5 寄件者
- 佇列:手動範圍
- 複製作業設定:
- 工作:99
- 記錄表範圍:使用索引鍵欄位計算範圍
- 範圍數量:128
將大量轉移設定移至正式環境
如要將大量轉移設定轉移至實際工作環境,請先從開發系統匯出設定,然後再匯入實際工作環境系統。
您可以選擇將大量移轉作業的三個設定部分匯入正式版:
- 進階複製設定,可透過
LTRS
交易存取。 - 來自
/GOOG/CLIENT_KEY
資料表的用戶端金鑰設定,可透過SM30
交易存取。 - BigQuery Connector for SAP 會設定大量移轉作業,您可以使用
/GOOG/SLT_SETTINGS
交易存取這些設定。
從開發系統匯出大量轉移設定
在 SAP LT Replication Server 開發系統中,匯出大量轉移設定的各個部分:
匯出進階複製設定:
- 執行
LTRS
交易。 - 選取要傳送至實際工作環境的大量轉移記錄。
- 在「File」下拉式選單中,選取「Export All Settings」。
- 在「Export Settings」對話方塊中,選取目的地,然後按一下「Save」。設定會以 CSV 格式儲存在本機工作站的壓縮檔案中。
- 執行
匯出 BigQuery 連接器的 SAP 大量轉移設定:
執行
/GOOG/SLT_SETTINGS
交易:/n/GOOG/SLT_SETTINGS
在「設定表格」欄位中,選取「質量轉移」。
選取要傳送至實際工作環境的大量轉移記錄。
按一下「傳輸大量資料」。
在「提示 Workbench 要求」中,輸入傳輸要求編號,然後按一下「繼續」圖示。對於每個所選大量轉移記錄,傳輸作業會納入下列自訂設定表中的設定:
/GOOG/BQ_MASTR
/GOOG/BQ_TABLE
/GOOG/BQ_FIELD
大量轉移設定會儲存至傳輸要求。
在傳輸要求中手動加入
/GOOG/CLIENT_KEY
表格的內容,即可匯出用戶端金鑰設定。將檔案儲存至本機工作站。
將大量轉移設定匯入實際工作環境
在 SAP LT Replication Server 生產系統中,匯入大量轉移設定的各個部分:
為大量轉移設定建立 SAP LT Replication Server 複製作業設定。
匯入進階複製設定:
- 執行
LTRS
交易。 - 選取您在第一步驟中建立的大量轉移作業。
- 在「File」下拉式選單中,選取「Import All Settings」。
- 在「Choose File」對話方塊中,從本機工作站選取壓縮檔案,然後按一下「Open」。系統會將這些設定匯入大量移轉作業。
- 執行
匯入包含大量轉移設定的傳輸要求。
執行
SM30
交易。視需要更新實際工作環境的用戶端金鑰設定。
執行
/GOOG/SLT_SETTINGS
交易:/n/GOOG/SLT_SETTINGS
確認「大量轉帳」畫面中顯示的轉帳資料正確無誤。
在「Mass Transfer ID」欄中,將開發系統的大量轉移 ID 替換為您在第一步驟中建立的複製設定中的大量轉移 ID。
在後續的「Tables」和「Fields」設定畫面中,根據實際環境需求更新資料表和欄位對應的其他值。
啟動初始載入或複製作業,測試設定。如要瞭解如何啟動初始載入或複製作業,請參閱:
更新 SAP 專用的 BigQuery 連接器
Google Cloud 會以 SAP 傳輸功能提供 BigQuery Connector for SAP 的新版本。
SAP 管理員可以按照下列步驟更新 BigQuery Connector for SAP:
- 在 SAP LT Replication Server 中停用設定。
- 匯入新的 SAP 運送要求。
- 驗證匯入和物件啟用作業是否成功後,請在 SAP LT Replication Server 中啟用設定。
更新 gcloud CLI
您必須在 SAP LT Replication Server 主機上更新 Google Cloud CLI。
如要進一步瞭解如何管理 gcloud CLI,請參閱「管理 gcloud CLI 元件」。
監控
您可以監控從 SAP 資料來源到目標 BigQuery 資料表的資料路徑上的幾個不同點,包括:
- 基礎架構:網路、硬體和作業系統
- SAP 資料庫層
- SAP 應用程式層
- SAP 專用的 BigQuery 連接器
- BigQuery
您可以在下列各個子部分中,查看在這些時間點監控的選項。
監控基礎架構
在 Google Cloud上,您可以在主機 VM 上安裝作業套件代理程式,以便進行進階監控和記錄。作業套件代理程式會將資料傳送至 Google Cloud 控制台的 Cloud Monitoring。
如需詳細資訊,請參閱:
如果系統並未在 Google Cloud上執行,您也可以執行 SAP 交易 (例如交易 ST06
) 來取得伺服器資訊。
監控資料庫層
使用標準 SAP 交易代碼監控資料庫的健康狀態。
交易代碼 DBACOCKPIT
是用於監控資料庫的最常見交易。這筆交易也會提供詳細的記錄,供您排解錯誤。
針對 SAP HANA,您可以使用 SAP HANA Studio 執行 SAP HANA 作業。您可以在任何前端機器上安裝 SAP HANA Studio。
排解效能或其他問題時,請在來源資料庫中檢查下列項目:
- 耗用大量資源的 SQL 陳述式
- 門鎖
- 載入記錄
- 索引
- 處理程序
監控應用程式層
您可以使用 SAP 應用程式監控和疑難排解工具,監控及排解適用於 SAP 的 BigQuery 連接器問題,因為這項工具會在應用程式層級執行。
SAP 應用程式監控和疑難排解作業可進一步分為以下類別:
- 標準 SAP 監控和疑難排解
- 監控及疑難排解 SAP 專用 BigQuery 連接器
對於規模較大的環境,您可以使用 SAP Solution Manager 做為集中監控工具。
您可以使用下列清單中的 SAP 交易代碼,監控及診斷個別 SAP 應用程式系統的問題:
- SLT 設定狀態:
LTRC
- SLT 錯誤和記錄:
LTRO
和SLG1
- Internet Communication Manager (HTTP 和 HTTPS 呼叫):
SMICM
- 安全性和憑證:
STRUST
- SAP 傳輸:
STMS
- RFC 連線:
SM59
- OS 指令:
SM69
- 套件檢查:
SE80
- 授權檢查:
SU53
- 背景工作:
SM37
- 系統記錄:
SM21
監控 BigQuery
使用 Cloud Monitoring 查看 BigQuery 指標,並建立圖表和快訊。每個指標都有資源類型 (bigquery_dataset
、bigquery_project
或 global
),以及一組標籤。
使用資源類型和標籤,在Monitoring Query Language (MQL) 中建立查詢。
您可以使用標籤將每個指標分組或篩選。
如要進一步瞭解 Monitoring,請參閱 Cloud Monitoring 說明文件。
複製驗證
如果您使用交易 /GOOG/SLT_SETTINGS
建立目標 BigQuery 資料表時選取「Extra Fields Flag」,系統會在資料表結構中新增資料欄,用於儲存觸發複製作業的每個記錄變更類型,以及反映 SAP LT 複製伺服器收到包含記錄的部分時間的時間戳記。
您可以使用變更類型和時間戳記,查詢下列記錄計數類型:
- 在初始載入期間,載入至 BigQuery 資料表的記錄數量。
- 在指定日期複製到 BigQuery 資料表的記錄數。
- BigQuery 資料表中不重複記錄的總數。
如要取得這些計數,您可以直接在 Google Cloud 控制台中提交 SQL 查詢,查詢 BigQuery 資料表;也可以執行複製驗證工具,產生報表,比較 BigQuery 記錄計數與 SAP LT 複製伺服器統計資料或來源資料表的記錄計數。
如要瞭解額外欄位標記,請參閱「記錄變更和計數查詢的額外欄位」一文。
如要瞭解如何指定額外欄位標記,請參閱:
- 如果 SAP LT Replication Server 是執行在 Compute Engine VM 上,請參閱「指定建立資料表和其他一般屬性」一文。
- 如果 SAP LT Replication Server 在Google Cloud以外的主機上執行,請參閱「指定建立資料表和其他一般屬性」一文。
記錄計數的 SQL 查詢
在Google Cloud 控制台的 BigQuery「SQL 編輯器」頁面上,您可以執行 SQL 查詢,檢查 BigQuery 資料表中的記錄計數。
接著,您可以將 BigQuery 記錄計數與來源資料表或 SAP LT Replication Server 統計資料中的計數進行比較。
查詢在初始載入模式中插入的記錄數量
如果 BigQuery 資料表結構定義包含選用的 operation_flag
欄,則在初始載入模式下插入資料表的記錄會包含 L
作業標記。
如要取得 BigQuery 在初始載入期間收到的記錄計數,請執行下列查詢:
SELECT COUNT(*) FROM `PROJECT.DATASET.TABLE` WHERE operation_flag = 'L'
查詢在複製模式中插入的記錄數
如果 BigQuery 資料表結構定義包含選用的 operation_flag
資料欄,則以複製模式插入資料表的記錄會包含下列作業標記之一:
I
:記錄已插入來源資料表。D
:已從來源資料表中刪除記錄。U
:已在來源資料表中更新記錄。
如要取得 BigQuery 在複製模式下收到的記錄計數,請執行下列查詢:
SELECT COUNT(*) FROM `PROJECT.DATASET.TABLE` WHERE operation_flag = 'I' | 'D' | 'U'
查詢 BigQuery 資料表中的記錄總數
如果 BigQuery 資料表結構定義包含選用的 recordstamp
欄,則插入資料表的每個記錄對應的 recordstamp
欄位會包含時間戳記,指出 SAP LT 複寫伺服器將記錄傳送至 BigQuery 的時間。
如要取得 BigQuery 表格中的記錄總數,以便與來源表格中的記錄總數進行比較,您可以使用 recordstamp
和 is_deleted
欄位,計算 BigQuery 表格中未從來源表格中刪除的唯一記錄。
如果來源資料表正在積極更新,或是複製作業在您查詢記錄時處於啟用狀態,來源和目標資料表中的記錄計數可能不完全相符。
如要取得 BigQuery 目標資料表中目前的唯一記錄計數,請執行下列查詢:
SELECT COUNT(*) FROM ( SELECT *, ROW_NUMBER() OVER (PARTITION BY KEY_FIELD_1, ..., KEY_FIELD_N ORDER BY recordstamp DESC) row_num FROM `PROJECT.DATASET.TABLE` ) WHERE row_num = 1 AND is_deleted = false
複製驗證工具
本節將概略介紹複本驗證工具,以及您可以使用這項工具執行的操作。
複製驗證工具會產生報表,比較 BigQuery 資料表中的記錄計數與 SAP LT Replication Server 統計資料,以及來源資料表中的記錄計數。如果計數不完全相符,工具會以紅色圓圈標示報表。
為了計算 BigQuery 中的記錄,此工具會使用前述「記錄計數的 SQL 查詢」一節所示的 SQL 查詢。
定期執行複製驗證工具,驗證 SAP LT Replication Server 和 SAP 專用 BigQuery 連接器是否如預期複製記錄到 BigQuery。
如要執行複製驗證工具,請在 SAP GUI 中輸入前面有 /n
的自訂交易 /GOOG/REPLIC_VALID
。如需逐步操作說明,請參閱:
- 如果 SAP LT 複製伺服器在 Compute Engine VM 上執行,請執行複製驗證工具。
- 如果 SAP LT Replication Server 是執行在Google Cloud外部主機上,請執行複製驗證工具。
複製驗證報表
您可以使用複製驗證工具產生下列驗證報表:
- 初始載入計數:比較 SAP LT Replication Server 在載入模式下傳送的記錄數,以及載入至 BigQuery 的記錄數。
- 複製計數:比較 SAP LT Replication Server 在複製模式下傳送的記錄數,以及在指定日期插入 BigQuery 的記錄數。
- 目前計數:比較來源資料表中的記錄數量,以及 BigQuery 中的不重複記錄數量。
您可以個別產生每份報表,也可以在執行工具時選取「All Checks」,一次產生三份報表。
顯示複製驗證報表
產生報表後,您可以選取複製驗證工具介面「處理選項」部分的「顯示報表」單選按鈕,即可顯示報表。
複製驗證工具在每份報表中顯示的資訊,會因報表類型而略有不同。
所有報表都包含下列類型的資訊:
- 來自 SAP LT Replication Server 統計資料和來源資料表的來源記錄計數。
- 目標 BigQuery 資料表的目標記錄計數。
- 兩者之間的差異。差異計算方式為從來源記錄計數中扣除 BigQuery 計數。正值表示可能有問題,因為這表示並非所有來源記錄都會傳送至 BigQuery。
- 顯示的次數差異以來源記錄次數的百分比表示。
- 視覺指標,用來顯示來源和目標計數是否相等或不同。
不相等的記錄計數
複製驗證工具會在每份顯示的報表中加入狀態欄位。
狀態欄位中的綠色方塊表示來源記錄計數等於 BigQuery 中的目標記錄計數。
如果狀態欄位顯示紅色圓圈,表示記錄計數不相等。
記錄數量不相等不一定表示有問題。以下指標可能表示有問題:
- 在「目前計數」報表中,如果值不相等,就表示有問題。
對於「初始載入計數」或「複製計數」報表,正值表示可能有問題。
負值較低並不會造成問題。由於有時會發生暫時性連線中斷的事件,導致 SAP LT Replication Server 重新傳送資料,因此目標 BigQuery 資料表中的計數可能會比來源記錄計數略高。
如果您看到不相等的計數,請重新執行報表,確認問題並非由暫時性問題造成。由於工具產生報表時會進行複製處理,因此記錄計數可能會不相等。
如果來源資料表非常龐大,或是在 SAP LT 複製伺服器中設定了初始載入或複製作業的篩選器,複製驗證工具可能無法計算等量計數所需的所有記錄。
排定驗證檢查
您可以使用 SAP 背景工作功能,排定複製驗證工具自動間隔執行。
在 CSV 檔案中編輯 BigQuery 欄位對應
以下各節將說明如何匯出預設欄位對應,讓資料工程師或 BigQuery 管理員不必存取 SAP LT 複製伺服器,即可編輯目標欄位值。
建立預設欄位對應項目的試算表或文字檔
如要在 SAP LT Replication Server 外部編輯 CSV 檔案,請按照下列步驟操作:
執行
/GOOG/SLT_SETTINGS
交易。在「SLT Settings Maintenance」畫面中,指定下列值:
- 在「設定資料表」欄位中,指定「欄位」。
- 在「Mass Transfer Key」欄位中,指定要更新的質量轉移 ID。
- 在「Table Name」(資料表名稱) 欄位中,將欄位留空即可使用所有資料表的所有欄位,或是指定資料表名稱來使用特定資料表。
- 將所有其他欄位留空。
按一下「執行」圖示。畫面上會顯示「BigQuery 設定維護 - 欄位」畫面。
在「BigQuery 設定維護 - 欄位」畫面上,按一下滑鼠右鍵,然後從下拉式選單中選取「隱藏」,即可隱藏所有欄位,除了下列清單中的欄位:
- SAP 資料表名稱
- SAP 欄位名稱
- 外部資料元素
- 外部欄位名稱
- 欄位說明
在顯示剩餘五個資料欄時,按一下「Export」圖示。
在「匯出」選單中,選取下列任一選項:
- 試算表
- 本機檔案:為方便將檔案內容轉換為 CSV 格式,建議您將檔案儲存為含有分隔符的文字格式。
按一下「勾號」圖示,儲存預設欄位對應。
將試算表或文字檔轉換為 CSV 格式
如要使用自訂交易 /GOOG/SLT_SETTINGS
上傳已編輯的欄位對應,欄位對應必須為 CSV 格式。
如果您使用試算表,請先將試算表儲存為 CSV 檔案,再上傳檔案。
如果您使用的是分頁格式或其他格式的本機檔案,請修改檔案以符合 CSV 格式。
例如:
SAP Table,SAP Field Name,External Data Element,External Field Name,Field Description SAP_TABLE_NAME,SAP_FIELD_NAME1,BIGQUERY_DATA_TYPE,BIGQUERY_FIELD_NAME1,BIGQUERY_FIELD_DESCRIPTION1 SAP_TABLE_NAME,SAP_FIELD_NAME2,BIGQUERY_DATA_TYPE,BIGQUERY_FIELD_NAME2,BIGQUERY_FIELD_DESCRIPTION2 SAP_TABLE_NAME,SAP_FIELD_NAME3,BIGQUERY_DATA_TYPE,BIGQUERY_FIELD_NAME3,BIGQUERY_FIELD_DESCRIPTION3
上傳 CSV 檔案
如要上傳編輯過的 CSV 檔案,請按照下列步驟操作:
執行
/GOOG/SLT_SETTINGS
交易。在「SLT Settings Maintenance」畫面中,指定下列值:
- 在「設定資料表」欄位中,指定「欄位」。
- 在「Mass Transfer Key」欄位中,指定要更新的質量轉移 ID。
- 勾選「Upload from file」(從檔案上傳) 核取方塊。
按一下「執行」圖示。系統會開啟「Select File to Upload」對話方塊。
在「Select File to Upload」對話方塊中,選取含有已編輯欄位值的 CSV 檔案。
按一下「開啟」。
如果系統顯示安全性警告,請按一下「允許」。檔案載入後,檔案中經過修改的值會顯示在「BigQuery 設定維護 - 欄位」畫面中適用的資料列中。
按一下「儲存」圖示。
如要確認值已套用,請將 CSV 檔案中的值與 SAP LT Replication Server 顯示的值進行比較。
處理來源資料中的錯誤
接收來自 SAP 的 BigQuery 連接器的記錄區塊後,BigQuery 串流 API 會先檢查資料錯誤,再將任何記錄插入 BigQuery 資料表。
您可以在大量移轉設定中指定下列旗標,藉此控制 BigQuery API 和 SAP 專用 BigQuery Connector 在發現資料錯誤時的回應方式:
Skip Invalid Records
(SKIP
) 標記Break at First Error Flag
(BREAK
) 標記
SKIP
標記
如果您指定 SKIP
標記,當 BigQuery API 收到記錄區塊並找出有資料錯誤的記錄時,BigQuery API 會捨棄或略過有錯誤的記錄,並繼續將該區塊中的所有其他記錄插入 BigQuery 表格。
如果您未指定 SKIP
標記,當 BigQuery 發現資料錯誤的記錄時,BigQuery 會捨棄整個區塊,而不將其中的任何記錄插入 BigQuery 資料表。這是預設行為。
指定 SKIP
標記最適合開發和 QA 環境,不建議用於正式環境。
設定複製作業時,您可以在 /GOOG/SLT_SETTINGS
交易中指定 SKIP
標記。規範會儲存在 /GOOG/BQ_MASTR
設定資料表中。
如要查看 SKIP
規格與 BREAK
規格的互動情形,請參閱 SKIP
和 BREAK
互動情形的矩陣表。
BREAK
標記
如果您指定 BREAK
標記,當 BigQuery API 通知 BigQuery Connector for SAP 記錄中出現資料錯誤時,BigQuery Connector for SAP 就會停止將記錄傳送至 BigQuery,並終止複製工作。
如果您未指定 BREAK
標記,當 BigQuery 通知 BigQuery Connector for SAP 記錄中出現資料錯誤時,BigQuery Connector for SAP 會繼續傳送記錄給 BigQuery,並傳送下一個區塊,複製作業也會繼續進行。這是預設行為。
建議在正式環境中指定 BREAK
標記。
設定複製作業時,您可以在 //GOOG/SLT_SETTINGS
交易中指定 BREAK
標記。規範會儲存在 /GOOG/BQ_MASTR
設定資料表中。
如要查看 BREAK
規格與 SKIP
規格的互動情形,請參閱 SKIP
和 BREAK
互動情形的矩陣表。
SKIP
和 BREAK
互動矩陣表格
您可以透過下列方式設定 BigQuery Connector for SAP,以便處理資料錯誤:
SKIP 標記 |
BREAK 標記 |
行為 |
---|---|---|
FALSE | TRUE |
BigQuery 會捨棄目前的記錄區塊,但不會將目前區塊中的任何記錄插入 BigQuery 資料表。 BigQuery Connector for SAP 不會再從目前的部分傳送記錄區塊,並會通知 SAP LT Replication Server 終止複製工作。 這是建議設定。 |
FALSE | FALSE |
BigQuery 會捨棄目前的記錄區塊,但不會將目前區塊中的任何記錄插入 BigQuery 資料表。 BigQuery Connector for SAP 會傳送目前記錄部分的任何剩餘記錄區塊,然後通知 SAP LT Replication Server 終止複製工作。 這是預設值。 |
TRUE | TRUE |
BigQuery 只會捨棄含有錯誤的記錄,並將目前區塊中的其餘記錄插入 BigQuery 資料表。 BigQuery Connector for SAP 不會再從目前的部分傳送記錄區塊,並擷取下一個部分。SAP 專用 BigQuery 連接器不會通知 SAP LT 複製伺服器終止複製工作。 |
TRUE | FALSE |
BigQuery 只會捨棄含有錯誤的記錄,並將目前區塊中的其餘記錄插入 BigQuery 資料表。 SAP 專用 BigQuery 連接器會傳送目前部分的任何剩餘記錄區塊,並擷取下一個部分。SAP 專用 BigQuery 連接器不會通知 SAP LT 複製伺服器終止複製工作。 |
表格結構變更
本節說明如何修改 SAP 來源資料表結構,該結構目前正在進行 LTRC
複製作業。
在來源資料表中新增欄
如要在來源資料表中新增資料欄,請按照下列步驟操作:
在來源資料表中新增資料欄。這個步驟會使複製狀態變更為
Load/Replication blocked
。在 SLT 系統中,使用交易
LTRC
重設複製狀態。如要進一步瞭解 SAP 如何重設複製狀態,請參閱 SAP 附註 2204955 - SLT 表格的狀態為「Load /Replication blocked」。在來源資料表中新增、更新或刪除項目。
在 BigQuery 中驗證複製結果。
從來源資料表中刪除資料欄
如要從來源資料表中刪除現有資料欄,請按照下列步驟操作:
在 SLT 系統中,使用交易
LTRC
暫停複製作業。從來源資料表刪除資料欄。這個步驟會導致現有的 SLT 觸發條件遭到刪除或變更為不一致的狀態。
在 BigQuery 中,從目標 BigQuery 資料表中刪除資料欄。如要進一步瞭解如何從現有資料表中刪除資料欄,請參閱 BigQuery 說明文件。
在 SLT 系統中,使用交易
LTRC
繼續複製。在 SLT 系統中重新建立 SLT 觸發條件。如要進一步瞭解 SAP 如何重建 SLT 觸發事件,請參閱 SAP 附註 2254376 - SLT 觸發事件處於不一致的狀態。
如果複製狀態為
Load /Replication blocked
,請使用交易LTRC
重設複製狀態。如需 SAP 提供的複製狀態重設方式相關資訊,請參閱 SAP 附註 2204955 - SLT 表格的狀態為「Load /Replication blocked」。清除舊記錄 (如有)。
在來源資料表中新增、更新或刪除項目。
在 BigQuery 中驗證複製結果。
變更現有資料欄的資料類型
當您變更 SAP 來源資料表中現有資料欄的資料類型時,請根據您是否將資料類型變更為與目標 BigQuery 資料表相容或不相容的資料類型,採取特定步驟。
如果現有資料欄的現有資料類型和新資料類型會對應至目標 BigQuery 資料表中的相同資料類型,則資料類型就與目標 BigQuery 資料表中的資料類型相容。舉例來說,如果資料欄的資料類型在來源資料表中從 INT1
變更為 INT2
,那麼這兩種資料類型都與目標 BigQuery 資料表中的資料類型 INTEGER
相容。
如要進一步瞭解適用於 SAP 的 BigQuery 連接器中的資料類型對應,請參閱「資料類型對應」。
將資料類型變更為相容的資料類型
如要將現有資料欄的資料類型變更為相容的資料類型,請按照下列步驟操作:
將資料類型變更為來源系統中的相容資料類型。這個步驟會導致現有的 SLT 觸發條件遭到刪除或變更為不一致的狀態。
在 SLT 系統中重新建立 SLT 觸發條件。如要進一步瞭解 SAP 如何重建 SLT 觸發事件,請參閱 SAP 附註 2254376 - SLT 觸發事件處於不一致的狀態。
如果複製狀態為
Load /Replication blocked
,請使用交易LTRC
重設複製狀態。如需 SAP 提供的複製狀態重設方式相關資訊,請參閱 SAP 附註 2204955 - SLT 表格的狀態為「Load /Replication blocked」。清除舊記錄 (如有)。
在來源資料表中新增、更新或刪除項目。
在 BigQuery 中驗證複製結果。
將資料類型變更為不相容的資料類型
如要將現有資料欄的資料類型變更為不相容的資料類型,請按照下列步驟操作:
- 在 SLT 系統中,使用交易
LTRC
停止複製作業。 - 在 BigQuery 中刪除目標資料表。
- 變更來源系統中的資料類型。
- 在 SLT 系統中,使用交易
LTRC
啟動複製作業。
強化功能結束
BigQuery Connector for SAP 在程式碼中提供多個增強點,ABAP 開發人員可在這些點插入程式碼,以便新增自訂功能。
下表列出強化點支援的函式、方法,以及包含強化點的類別。
函式 | 類別 | 方法 | Spot | 選項 |
---|---|---|---|---|
更新欄位的對應關係,例如外部欄位名稱、資料類型等。 | /GOOG/CL_IUUC_REPL_RUNTIME |
CREATE_FLD_MAPPINGS |
/GOOG/ES_IUUC_REPL_RUNTIME |
/GOOG/UPDATE_FIELD_MAPPING |
新增或移除欄位,更新欄位表的對應關係。 | /GOOG/CL_IUUC_REPL_RUNTIME |
CREATE_FLD_MAPPINGS |
/GOOG/ES_IUUC_REPL_RUNTIME |
/GOOG/UPDATE_FIELD_MAPPINGS |
在欄位轉換為目標欄位之前,變更來源欄位的值。 | /GOOG/CL_IUUC_REPL_RUNTIME_BQ |
FILL_TARGET_RECORDS |
/GOOG/ES_IUUC_REPL_RUNTIME_BQ |
/GOOG/CHANGE_SOURCE_FIELD |
來源欄位在目標資料表中轉換為目標欄位後,請變更目標欄位的值。 | /GOOG/CL_IUUC_REPL_RUNTIME_BQ |
FILL_TARGET_RECORDS |
/GOOG/ES_IUUC_REPL_RUNTIME_BQ |
/GOOG/FILL_TARGET_FIELD |
在來源至目標資料表轉換期間,將來源資料表中不存在的欄位新增至目標資料表。 | /GOOG/CL_IUUC_REPL_RUNTIME_BQ |
FILL_TARGET_RECORDS |
/GOOG/ES_IUUC_REPL_RUNTIME_BQ |
/GOOG/FILL_EXTRA_FIELD |
在建立 BigQuery 資料表之前,準備 BigQuery 結構定義欄位。 | /GOOG/CL_GCP_CLIENT_BQ |
PREP_BQ_TABLE_SCHEMA |
/GOOG/ES_GCP_CLIENT_BQ |
/GOOG/PREPARE_SCHEMA_FIELD |