Condividi tramite


Replicare più oggetti da SAP tramite SAP CDC

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questo articolo descrive un modello di soluzione che è possibile usare per replicare più oggetti ODP da SAP tramite il connettore SAP CDC ad Azure Data Lake Gen2 in formato Delta con partizione chiave.

Informazioni sul modello di soluzione

Questo modello legge un file di controllo esterno in formato JSON nell'archivio di archiviazione, che contiene i contesti ODP SAP, gli oggetti ODP SAP e le colonne chiave del sistema di origine SAP, nonché i contenitori, le cartelle e le partizioni dall'archivio di destinazione di Azure Data Lake Gen2. Copia quindi ogni oggetto ODP SAP dal sistema SAP ad Azure Data Lake Gen2 in formato Delta.

Il modello contiene tre attività:

  • La ricerca recupera l'elenco di oggetti ODP SAP da caricare e il percorso dell'archivio di destinazione da un file di controllo esterno nell'archivio Azure Data Lake Gen2.
  • ForEach ottiene l'elenco di oggetti ODP SAP dall'attività Lookup e esegue l'iterazione di ogni oggetto all'attività del flusso di dati di mapping.
  • Il flusso di dati di mapping replica ogni oggetto ODP SAP dal sistema SAP ad Azure Data Lake Gen2 in formato Delta. Eseguirà il caricamento completo iniziale nella prima esecuzione e quindi eseguirà automaticamente il caricamento incrementale nelle esecuzioni successive. Le modifiche verranno unite in Azure Data Lake Gen2 in formato Delta.

In questo modello è necessario un file di controllo esterno in formato JSON. Lo schema per il file di controllo è il seguente.

  • checkPointKey è la chiave personalizzata per gestire il checkpoint dell'acquisizione dei dati modificata in Azure Data Factory. Qui è possibile ottenere altri dettagli.
  • sapContext è il contesto ODP SAP del sistema SAP di origine. Qui è possibile ottenere altri dettagli.
  • sapObjectName è il nome dell'oggetto SAP ODP da caricare dal sistema SAP. Qui è possibile ottenere altri dettagli.
  • sapRunMode consiste nel determinare come caricare l'oggetto SAP. Può essere fullLoad, incrementalLoad o fullAndIncrementalLoad.
  • sapKeyColumns sono i nomi delle colonne chiave degli oggetti ODP SAP usati per eseguire la deduplicazione nel flusso di dati di mapping.
  • sapPartitions sono un elenco di condizioni di partizione che portano a processi di estrazione separati nel sistema SAP connesso.
  • deltaContainer è il nome del contenitore in Azure Data Lake Gen2 come archivio di destinazione.
  • deltaFolder è il nome della cartella in Azure Data Lake Gen2 come archivio di destinazione.
  • deltaKeyColumns sono le colonne utilizzate per determinare se una riga dall'origine corrisponde a una riga dal sink quando si desidera aggiornare o eliminare una riga.
  • deltaPartition è la colonna usata per creare partizioni per ogni valore univoco in tale colonna per scrivere dati in formato Delta in Azure Data Lake Gen2 tramite cluster Spark usato dal flusso di dati di mapping. È possibile ottenere altri dettagli qui

Di seguito è riportato un file di controllo di esempio:

[
  {
    "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"
  }
]

Come usare questo modello di soluzione

  1. Creare e caricare un file di controllo in formato JSON in Azure Data Lake Gen2 come archivio di destinazione. Il contenitore predefinito in cui archiviare il file di controllo è demo e il nome del file di controllo predefinito è SapToDeltaParameters.json.

  2. Passare al modello Replica più tabelle da SAP ODP ad Azure Data Lake Archiviazione Gen2 in formato Delta e fare clic su di esso.

    Screenshot of SAP CDC search template.

  3. Fare clic su Continua e immettere il servizio collegato connesso al sistema SAP come origine e il servizio collegato connesso ad Azure Data Lake Gen2 come destinazione. È possibile ottenere altri dettagli sul servizio collegato SAP CDC da qui. Tenere presente che il file di controllo esterno deve essere caricato nello stesso account di Azure Data Lake Gen2.

    Screenshot of SAP CDC use template.

  4. Fare clic su Usa questo modello e si noterà che la pipeline è stata pronta per l'uso.

    Screenshot of SAP CDC pipeline.