共用方式為


透過 SAP CDC 從 SAP 複寫多個物件

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

本文說明一個解決方案範本,可讓您透過 SAP CDC 連接器以 Delta 格式將多個 ODP 物件從 SAP 複寫到具索引鍵分割的 Azure Data Lake Gen2。

關於此解決方案範本

此範本會讀取儲存體存放區上 json 格式的外部控制檔案,其中包含來自 SAP 來源系統的 SAP ODP 內容、SAP ODP 物件和索引鍵資料行,以及來自 Azure Data Lake Gen2 目的地存放區的容器、資料夾和分割。 然後,它會以 Delta 格式將每個 SAP ODP 物件從 SAP 系統複製到 Azure Data Lake Gen2。

範本包含三個活動:

  • 查閱可擷取要載入的 SAP ODP 物件清單,以及 Azure Data Lake Gen2 存放區上外部控制檔案中的目的地存放區路徑。
  • ForEach 會從查閱活動取得 SAP ODP 物件清單,並將每個物件重複處理至對應資料流程活動。
  • 對應資料流程會以 Delta 格式將每個 SAP ODP 物件從 SAP 系統複寫到 Azure Data Lake Gen2。 它會在第一次執行中進行初始完整載入,然後在後續的執行中自動進行累加式載入。 它會以 Delta 格式合併對 Azure Data Lake Gen2 的變更。

此範本需要 json 格式的外部控制檔案。 控制檔案的結構描述如下所示。

  • checkPointKey 是您的自訂索引鍵,用於管理 ADF 中已變更資料擷取的檢查點。 如需詳細資訊,請前往這裡 (英文)。
  • sapContext 是來源 SAP 系統中的 SAP ODP 內容。 如需詳細資訊,請前往這裡 (英文)。
  • sapObjectName 是從 SAP 系統載入的 SAP ODP 物件名稱。 如需詳細資訊,請前往這裡 (英文)。
  • sapRunMode 用以決定您要如何載入 SAP 物件。 它可以是 fullLoad、incrementalLoad 或 fullAndIncrementalLoad。
  • sapKeyColumns 是 SAP ODP 物件中的索引鍵資料行名稱,用於在對應資料流程中執行刪除重複項目 (dedupe)。
  • sapPartitions 是導致連線 SAP 系統中個別擷取程序的資料分割條件清單。
  • deltaContainer 是 Azure Data Lake Gen2 中作為目的地存放區的容器名稱。
  • deltaFolder 是 Azure Data Lake Gen2 中作為目的地存放區的資料夾名稱。
  • deltaKeyColumns 是您的資料行,當您想要更新或刪除資料列時,用來判斷來源中的資料列是否符合接收中的資料列。
  • deltaPartition 是您的資料行,用來建立這類資料行中每個唯一值的分割,以透過對應資料流程所使用的 Spark 叢集,以 Delta 格式將資料寫入到 Azure Data Lake Gen2。 您可以在這裡取得更多詳細資訊

範例控制檔案如下所示:

[
  {
    "checkPointKey":"CheckPointFor_ZPERFCDPOS$F",
    "sapContext": "ABAP_CDS",
    "sapObjectName": "ZPERFCDPOS$F",
    "sapRunMode": "fullAndIncrementalLoad",
    "sapKeyColumns": [
      "TABKEY"
    ],
    "sapPartitions": [
	[{
        "fieldName": "TEXTCASE",
        "sign": "I",
        "option": "EQ",
        "low": "1"
       },
       {
        "fieldName": "TEXTCASE",
        "sign": "I",
        "option": "EQ",
        "low": "X"
      }]
    ],
    "deltaContainer":"delta",
    "deltaFolder":"ZPERFCDPOS",
    "deltaKeyColumns":["TABKEY"],
    "deltaPartition":"TEXTCASE",
    "stagingStorageFolder":"stagingcontainer/stagingfolder"
  },
  {
    "checkPointKey":"CheckPointFor_Z0131",
    "sapContext": "SAPI",
    "sapObjectName": "Z0131",
    "sapRunMode": "incrementalLoad",
    "sapKeyColumns": [
      "ID"
    ],
    "sapPartitions": [],
    "deltaContainer":"delta",
    "deltaFolder":"Z0131",
    "deltaKeyColumns":["ID"],
    "deltaPartition":"COMPANY",
    "stagingStorageFolder":"stagingcontainer/stagingfolder"
  }
]

如何使用此解決方案範本

  1. 以 json 格式建立控制檔案,並將其上傳至 Azure Data Lake Gen2 作為目的地存放區。 用來儲存控制檔案的預設容器是 demo,而預設控制檔案名稱是 SapToDeltaParameters.json

  2. 移至以 Delta 格式將多個資料表從 SAP ODP 複寫到 Azure Data Lake Storage Gen2 範本,然後按一下該範本。

    SAP CDC 搜尋範本的螢幕快照。

  3. 按一下 [繼續],然後輸入連線至 SAP 系統的連結服務作為來源,以及輸入連線至 Azure Data Lake Gen2 的連結服務作為目的地。 您可以從這裡取得 SAP CDC 連結服務的更多詳細資料。 請注意,您的外部控制檔案應該上傳至 Azure Data Lake Gen2 的相同帳戶。

    SAP CDC 使用範本的螢幕快照。

  4. 按一下 [使用此範本],您會看到管線已準備就緒可使用。

    SAP CDC 管線的螢幕快照。