安裝及設定 SAP 專用的 BigQuery Toolkit

本文說明如何安裝及設定 BigQuery Toolkit for SAP。

安裝 BigQuery Toolkit for SAP

安裝 ABAP SDK for Google Cloud 的 1.9 版 (適用於地端或任何雲端版本) 時,系統會預設安裝 BigQuery Toolkit for SAP。如需安裝步驟的相關資訊,請參閱「安裝及設定適用於 Google Cloud 的 ABAP SDK 內部部署或任何雲端版本」。

如果您目前使用 1.8 以下版本的 ABAP SDK for Google Cloud (地端或任何雲端版本),請務必將 SDK 更新至最新版本,才能取得 BigQuery Toolkit for SAP。詳情請參閱「更新 ABAP SDK for Google Cloud」。

啟用 BigQuery API

您必須在 Google Cloud 專案中啟用 BigQuery API。 如要瞭解如何啟用 API,請參閱「啟用 API」。 Google Cloud

設定驗證方法

設定驗證機制後,即可存取 ABAP SDK for Google Cloud 本機或任何雲端版本的 API,而 BigQuery Toolkit for SAP 會使用相同的驗證方法存取 BigQuery API。 Google Cloud 如要瞭解如何在內部部署或任何雲端版本的 ABAP SDK for Google Cloud 中設定驗證,請參閱「驗證總覽」。

確認在 ABAP SDK for Google Cloud 用戶端金鑰設定中設定的服務帳戶具有下列角色:

  • BigQuery 資料編輯者
  • BigQuery 工作使用者

記下您在驗證設定中建立的用戶端金鑰。在 SAP 系統中設定 BigQuery Toolkit for SAP 的 BigQuery 資料移轉設定模組時,您會使用這個用戶端金鑰。

建立 BigQuery 資料集

如要建立 BigQuery 資料集,使用者帳戶必須具備 BigQuery 的適當 IAM 權限。詳情請參閱「必要權限」。

如要建立 BigQuery 資料集,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面:

    前往 BigQuery

  2. 點選專案 ID 旁邊的「查看動作」圖示 ,然後點選「建立資料集」

    建立資料集

  3. 在「Dataset ID」(資料集 ID) 欄位中,輸入專屬名稱。詳情請參閱「命名資料集」。

如要進一步瞭解如何建立 BigQuery 資料集,請參閱建立資料集

設定 BigQuery 資料移轉模組

您可以使用 SAP 專用 BigQuery 工具組的 BigQuery 資料移轉模組,從 SAP 系統建構資料管道到 BigQuery。在這個過程中,您可以建立大量移轉設定,指定要複製的 SAP 資料來源、對應 SAP 和 BigQuery 資料表之間的欄位,以及設定資料複製設定來提升效能。

選取初始大量轉移選項

選取要編輯的大量轉移設定部分。

如要選取大量轉移設定的某個部分,請按照下列步驟操作:

  1. 在 SAP GUI 中執行交易代碼 /GOOG/SDK_IMG

    或者,執行交易代碼 SPRO,然後按一下「SAP Reference IMG」

  2. 依序點選「ABAP SDK for Google Cloud」>「Basic Settings」>「BigQuery Data Transfer: Settings Maintenance」

  3. 在「設定表格」下拉式選單中,選取「大量轉移」

    如要建立新的大量轉移設定,請將「大量轉移金鑰」欄位留空。

  4. 按一下「執行」圖示。系統會顯示「BigQuery 資料移轉設定維護 - 大量移轉」畫面。

指定資料表建立和其他一般屬性

在 BigQuery 大量移轉設定的初始部分,您會識別大量移轉設定,並指定相關聯的用戶端金鑰,以及與建立目標 BigQuery 資料表相關的特定屬性。

SAP 伺服器會將大量轉移設定儲存為 /GOOG/BQTR_MASTR 自訂設定表中的記錄。

您在下列步驟中指定的欄位是大量轉移設定的必要條件。

如要指定表格屬性,請按照下列步驟操作:

  1. 在「BigQuery 資料移轉設定維護 - 大量移轉」畫面中,按一下「附加列」圖示。

  2. 在顯示的列中,指定下列設定:

    1. 在「大量轉移金鑰」欄位中,定義這項轉移作業的名稱。 這個名稱會成為大量轉移作業的主鍵。
    2. 如要使用來源欄位的標籤或簡短說明做為 BigQuery 中目標欄位的名稱,請按一下「Use Custom Names Flag」(使用自訂名稱旗標) 核取方塊。如要進一步瞭解欄位名稱,請參閱「欄位的預設命名選項」。
    3. 如要儲存觸發插入作業的變更類型,並驗證來源資料表、SAP 伺服器統計資料和 BigQuery 資料表之間的記錄計數,請選取「Extra Fields Flag」(額外欄位標記) 核取方塊。

      設定這個標記後,SAP 適用的 BigQuery Toolkit 會將資料欄新增至 BigQuery 資料表結構定義。詳情請參閱「記錄變更和計數查詢的額外欄位」。

    4. 如要在遇到資料錯誤的記錄時停止傳送資料,請勾選預設的「Break at First Error Flag」核取方塊。建議您保留這個勾選狀態。 詳情請參閱「BREAK 旗標」。

    5. (選用) 如要自動縮減區塊大小,避免區塊的位元組大小超過 BigQuery 接受的 HTTP 要求位元組大小上限,請按一下「Dynamic Chunk Size Flag」(動態區塊大小標記) 核取方塊。如要進一步瞭解動態區塊大小,請參閱「動態區塊大小」。

    6. 如果系統遇到資料錯誤的記錄,請按一下「Skip Invalid Records Flag」(略過無效記錄標記) 核取方塊,略過該記錄並繼續將記錄插入 BigQuery 資料表。建議不要勾選這項設定。詳情請參閱「SKIP 旗標」。

    7. 在「Google Cloud Key Name」(Google Cloud 金鑰名稱) 欄位中,輸入對應的用戶端金鑰設定名稱。

      BigQuery Toolkit for SAP 會從用戶端金鑰設定中擷取 Google Cloud 專案 ID。

    8. 在「BigQuery 資料集」欄位中,輸入您在「建立 BigQuery 資料集」一節中建立的目標 BigQuery 資料集名稱。

    9. 在「Is Setting Active Flag」欄位中,按一下核取方塊,啟用大量轉移設定。

    10. 按一下 [儲存]

      大量轉移記錄會附加在 /GOOG/BQTR_MASTR 表格中,而「變更者」、「變更時間」和「變更地點」欄位會自動填入。

    11. 按一下「顯示表格」

      系統會顯示新的大量轉移記錄,接著顯示表格屬性輸入面板。

指定資料表屬性

您可以指定資料表屬性,例如資料表名稱和資料表分割,以及傳輸至 BigQuery 的每筆傳輸或區塊中要納入的記錄數。

您指定的設定會以記錄的形式儲存在 /GOOG/BQTR_TABLE 設定表。

這些設定是大量轉移設定的選用項目。

如要指定表格屬性,請按照下列步驟操作:

  1. 按一下「附加列」圖示。

  2. 在「SAP 資料來源名稱」欄位中,輸入來源 SAP 字典物件的名稱,例如資料表、字典檢視區塊、CDS 檢視區塊或 CDS 實體。

  3. 在「External Table Name」(外部資料表名稱) 欄位中,輸入目標 BigQuery 資料表的名稱。如果目標資料表不存在,BigQuery Toolkit for SAP 會建立具有這個名稱的資料表。如要瞭解 BigQuery 資料表命名慣例,請參閱「資料表命名」。

  4. 如要傳送資料表所有欄位的未壓縮資料,請選取「傳送未壓縮的標記」。 啟用這項設定後,BigQuery Toolkit for SAP 會將來源記錄中的任何空白欄位,替換為來源資料表中欄位初始化的值。為提升效能,請勿選取這個旗標。

    如果只需要傳送特定欄位的未壓縮資料,請勿在資料表層級選取「傳送未壓縮的標記」。請改為在欄位層級,為這些特定欄位選取「傳送未壓縮的標記」。 這個選項可讓您在將資料複製到 BigQuery 時,保留特定欄位的初始值,即使您壓縮其餘資料表資料也沒問題。如要瞭解如何修改欄位層級的記錄壓縮,請參閱「變更欄位層級的記錄壓縮」。

    如要進一步瞭解記錄壓縮行為,請參閱「記錄壓縮」。

  5. (選用) 在「Chunk Size」(區塊大小) 欄位中,指定要傳送至 BigQuery 的每個區塊所含記錄數量上限。建議您搭配 BigQuery Toolkit for SAP 使用預設的區塊大小,也就是 10,000 筆記錄。如有需要,您可以將區塊大小增加至最多 50,000 筆記錄,這是 BigQuery Toolkit for SAP 允許的最大區塊大小。

    如果來源記錄包含大量欄位,欄位數量可能會增加區塊的整體位元組大小,進而導致區塊錯誤。如果發生這種情況,請嘗試縮減區塊大小,以減少位元組大小。 詳情請參閱「資料移轉區塊大小」。或者,如要自動調整區塊大小,請啟用動態區塊大小。詳情請參閱動態區塊大小

  6. (選用) 在「Partition Type」(分區類型) 欄位中,指定要用於分區的時間增量。有效值為 HOURDAYMONTHYEAR。 詳情請參閱資料表分區

  7. (選用) 在「Partition Field」(分區欄位) 欄位中,指定目標 BigQuery 資料表中的欄位名稱,該欄位包含用於分區的時間戳記。指定「分割欄位」時,您也必須指定「分割類型」。詳情請參閱資料表分區

  8. 在「Is Setting Active Flag」欄位中,按一下核取方塊啟用表格屬性。如果未勾選「Is Setting Active Flag」(是否設定有效標記) 方塊,BigQuery Toolkit for SAP 會建立 BigQuery 資料表,並使用 SAP 來源資料表的名稱、預設區塊大小,且不進行資料分割。

  9. 按一下 [儲存]

    屬性會儲存在設定資料表中,並自動填入「變更者」、「變更時間」和「變更日期」欄位。/GOOG/BQTR_TABLE

  10. 按一下「顯示欄位」

    系統會顯示新的資料表屬性記錄,接著顯示欄位對應項目面板。

自訂預設欄位對應

如果來源 SAP 資料表包含時間戳記欄位或布林值,請變更預設資料類型對應,以準確反映目標 BigQuery 資料表中的資料類型。

您也可以變更其他資料類型,以及用於目標欄位的名稱。

您可以直接在 SAP GUI 中編輯預設對應,也可以將預設對應匯出至試算表或文字檔,讓其他人編輯值,不必存取您的 SAP 伺服器。

如要進一步瞭解預設欄位對應和可進行的變更,請參閱「欄位對應」。

如要自訂目標 BigQuery 欄位的預設對應,請按照下列步驟操作:

  1. 在「BigQuery 資料移轉設定維護 - 欄位」畫面中,顯示您要設定大量移轉作業的預設欄位對應。

  2. 視需要編輯「外部資料元素」資料欄中的預設目標資料類型。具體來說,請變更下列資料類型的目標資料類型:

    • 時間戳記。將預設目標資料型別從 NUMERIC 變更為 TIMESTAMPTIMESTAMP (LONG)
    • 布林值。將預設目標資料類型從 STRING 變更為 BOOLEAN
    • 十六進位數。將預設目標資料類型從 STRING 變更為 BYTES

    如要編輯預設資料類型對應,請按照下列步驟操作:

    1. 在要編輯的欄位資料列中,按一下「外部資料元素」欄位。
    2. 在資料類型對話方塊中,選取所需的 BigQuery 資料類型。
    3. 確認變更,然後按一下「儲存」
  3. 如果您在「BigQuery 資料移轉設定維護」畫面中指定「自訂名稱」旗標,請視需要編輯「暫時欄位名稱」欄中的預設目標欄位名稱。

    您指定的值會覆寫「外部欄位名稱」欄中顯示的預設名稱。

  4. 視需要編輯「欄位說明」欄中的預設目標欄位說明。

  5. 您也可以匯出欄位對應,以便在外部編輯。如需操作說明,請參閱「在 CSV 檔案中編輯 BigQuery 欄位對應」。

  6. 完成所有變更並上傳所有外部編輯的值後,請確認已選取「Is Setting Active Flag」(是否要設定啟用旗標) 核取方塊。如果未選取「Is Setting Active Flag」(是否設定有效旗標) ,BigQuery Toolkit for SAP 會使用預設值建立目標資料表。

  7. 按一下 [儲存]

    變更會儲存在設定表格中,且「變更者」、「變更時間」和「變更時區」/GOOG/BQTR_FIELD 欄位會自動填入。

在欄位層級變更記錄壓縮設定

為提升複製效能,BigQuery Toolkit for SAP 會省略來源記錄中的所有空白欄位,藉此壓縮記錄,然後在 BigQuery 的目標資料表中以 null 初始化這些欄位。不過,如果您需要將某些空白欄位及其初始值複製到 BigQuery,同時仍使用記錄壓縮功能,則可以為這些特定欄位選取「傳送未壓縮的標記」

如要進一步瞭解記錄壓縮行為,請參閱「記錄壓縮」。

如要在欄位層級變更記錄壓縮設定,請按照下列步驟操作:

  1. 在「BigQuery Data Transfer Settings Maintenance - Fields」(BigQuery 資料移轉設定維護 - 欄位) 畫面中,顯示要設定大量移轉的資料表欄位清單。

  2. 如要傳送欄位的未壓縮資料,請選取欄位對應的「傳送未壓縮標記」

  3. 按一下 [儲存]

取得支援

Google Cloud 提供支援,協助解決與安裝、設定、操作及維護 BigQuery Toolkit for SAP 相關的問題。

如果問題源自 SAP 管理的元件,例如 Operational Data Provisioning (ODP)、Data Migration Server (DMIS)、Core Data Services (CDS)、Internet Communication Manager (ICM) 或第三方軟體, Google Cloud 客戶服務 Google Cloud 會盡力找出根本原因。如要解決這些問題,請與相關供應商或支援服務供應商聯絡。

如要排解 BigQuery Toolkit for SAP 的問題,請參閱「排解 BigQuery Toolkit for SAP 的問題」。

如需協助解決 ABAP SDK for Google Cloud 的問題,請按照下列步驟操作: