Condividi tramite


Trasformare i dati da un'origine ODP SAP usando il connettore SAP CDC in Azure Data Factory o Azure Synapse Analytics

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!

Questo articolo illustra come usare il flusso di dati per mapping per trasformare i dati da un'origine SAP ODP usando il connettore SAP CDC. Per altre informazioni, leggere l'articolo introduttivo per Azure Data Factory o Azure Synapse Analytics. Per un'introduzione alla trasformazione dei dati con Azure Data Factory e Azure Synapse Analytics, leggere Flusso di dati per mapping o l'esercitazione sul flusso di dati per mapping.

Suggerimento

Per informazioni sul supporto generale sullo scenario di integrazione dei dati SAP, vedere il white paper sull'integrazione dei dati SAP con Azure Data Factory con sezioni di introduzione, confronto e istruzioni dettagliate su ogni connettore SAP.

Funzionalità supportate

Questo connettore SAP esercitazione è supportato per le attività seguenti:

Funzionalità supportate IR
Flusso di dati per mapping (origine/-) ①, ②

① Azure Integration Runtime ② Runtime di integrazione self-hosted

Questo connettore SAP CDC usa il framework SAP ODP per estrarre dati dai sistemi di origine SAP. Per un'introduzione all'architettura della soluzione, leggere Introduction and architecture to SAP Change Data Capture (CDC) in SAP Knowledge Center.

Il framework SAP ODP è contenuto in tutti i sistemi basati su SAP NetWeaver aggiornati, tra cui SAP ECC, SAP S/4HANA, SAP BW, SAP BW/4HANA, SAP LT Replication Server (SLT). Per i prerequisiti e le versioni minime necessarie, vedere Prerequisiti e configurazione.

Il connettore SAP CDC supporta l'autenticazione di base o SNC (Secure Network Communications), se SNC è configurato.

Limitazioni correnti

Di seguito sono riportate le limitazioni correnti del connettore SAP CDC in Data Factory:

  • Non è possibile reimpostare o eliminare sottoscrizioni ODQ in Data Factory. Usare ODQMON per transazioni nel sistema SAP connesso a questo scopo.
  • Non è possibile usare le gerarchie SAP con la soluzione.

Prerequisiti

Per usare questo connettore SAP CDC, vedere Prerequisiti e configurazione per il connettore SAP CDC.

Operazioni preliminari

Per eseguire l'attività di copia con una pipeline, è possibile usare uno degli strumenti o SDK seguenti:

Creare un servizio collegato per il connettore SAP CDC usando l'interfaccia utente

Seguire la procedura descritta in Preparare il servizio collegato SAP CDC per creare un servizio collegato per il connettore SAP CDC nell'interfaccia utente del portale di Azure.

Proprietà del set di dati

Per preparare un set di dati SAP CDC, seguire Preparare il set di dati di origine SAP CDC.

Trasformare i dati con il connettore SAP CDC

Il feed di modifiche SAP ODP non elaborato è difficile da interpretare e aggiornarlo correttamente in un sink può risultare complicato. Ad esempio, è necessario comprendere gli attributi tecnici associati a ogni riga (ad esempio ODQ_CHANGEMODE) per applicare correttamente le modifiche al sink. Un estratto di dati delle modifiche da ODP può inoltre contenere più modifiche alla stessa chiave, ad esempio, lo stesso ordine di vendita. È quindi importante rispettare l'ordine delle modifiche, ottimizzando allo stesso tempo le prestazioni tramite l'elaborazione in parallelo delle modifiche. La gestione di un feed CDC (Change Data Capture) richiede anche di tenere traccia dello stato, ad esempio per fornire meccanismi predefiniti per il ripristino degli errori. I flussi di dati per mapping di Azure Data Factory si occupano di tutti questi aspetti. Pertanto, la connettività SAP CDC fa parte dell'esperienza del flusso di dati per mapping. Gli utenti possono quindi concentrarsi sulla logica di trasformazione necessaria senza doversi preoccupare dei dettagli tecnici dell'estrazione dei dati.

Per iniziare, creare una pipeline con un flusso di dati per mapping.

Screenshot dell'aggiunta dell'attività del flusso di dati nella pipeline.

Specificare quindi un servizio collegato di staging e una cartella di gestione temporanea in Azure Data Lake Gen2, che funge da risorsa di archiviazione intermedia per i dati estratti da SAP.

Nota

  • Il servizio collegato di staging non può usare un runtime di integrazione self-hosted.
  • La cartella di gestione temporanea deve essere considerata una risorsa di archiviazione interna del connettore SAP CDC. Per altre ottimizzazioni del runtime di SAP CDC, i dettagli di implementazione, ad esempio il formato di file usato per i dati di staging, potrebbero cambiare. È pertanto consigliabile non usare la cartella di gestione temporanea per altri scopi, ad esempio come origine per altre attività di copia o flussi di dati per mapping.

Screenshot dell'opzione per specificare la cartella di gestione temporanea nell'attività del flusso di dati.

La Chiave checkpoint viene usata dal runtime di SAP CDC per archiviare le informazioni sullo stato del processo CDC (Change Data Capture). Ciò consente, ad esempio, ai flussi di dati per mapping di SAP CDC di eseguire automaticamente il ripristino da situazioni di errore o sapere se è già stato stabilito un processo CDC (Change Data Capture) per un determinato flussi di dati. È quindi importante usare unaChiave checkpoint univoca per ogni origine. In caso contrario, le informazioni sullo stato di un'origine verranno sovrascritte da un'altra origine.

Nota

  • Per evitare conflitti, per impostazione predefinita viene generato un ID univoco come Chiave checkpoint.
  • Quando si usano parametri per sfruttare lo stesso flusso di dati per più origini, assicurarsi di parametrizzare la Chiave checkpoint con valori univoci per ogni origine.
  • La proprietà Chiave checkpoint non viene visualizzata se la Modalità di esecuzione all'interno dell'origine SAP CDC è impostata su Completa in ogni esecuzione (vedere la sezione successiva), perché in questo caso non viene stabilito alcun processo CDC (Change Data Capture).

Screenshot della proprietà Chiave checkpoint nell'attività del flusso di dati.

Chiavi del checkpoint con parametri

Le chiavi del checkpoint sono necessarie per gestire lo stato dei processi Change Data Capture. Per una gestione efficiente, è possibile parametrizzare la chiave del checkpoint per consentire le connessioni a origini diverse. Ecco come implementare una chiave del checkpoint con parametri:

  1. Creare un parametro globale per archiviare la chiave del checkpoint a livello di pipeline per garantire la coerenza tra le esecuzioni:

    "parameters": {
     "checkpointKey": {
         "type": "string",
         "defaultValue": "YourStaticCheckpointKey"
     }
    } 
    
  2. Impostare a livello di codice la chiave del checkpoint per richiamare la pipeline con il valore desiderato ogni volta che viene eseguita. Di seguito è riportato un esempio di chiamata REST che usa la chiave del checkpoint con parametri:

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/pipelines/{pipelineName}?api-version=2018-06-01
    Content-Type: application/json
    {
        "properties": {
            "activities": [
                // Your activities here
            ],
            "parameters": {
                "checkpointKey": {
                    "type": "String",
                    "defaultValue": "YourStaticCheckpointKey"
                }
            }
        }
    }
    

Per informazioni più dettagliate, vedere Argomenti avanzati per il connettore SAP CDC.

Proprietà del flusso di dati per mapping

Per creare un flusso di dati per mapping usando il connettore SAP CDC come origine, seguire questa procedura:

  1. In ADF Studio passare alla sezione Flussi di dati dell'hub Autore, selezionare il pulsante per visualizzare il menu Azioni flusso di dati e selezionare l'elemento Nuovo flusso di dati. Attivare la modalità di debug usando il pulsante Debug del flusso di dati nella barra superiore dell’area di disegno del flusso di dati.

    Screenshot del pulsante di debug del flusso di dati nel flusso di dati per mapping.

  2. Nell’editor del flusso di dati per mapping, selezionare Aggiungi origine.

    Screenshot dell'aggiunta dell'origine nel flusso di dati per mapping.

  3. Nella scheda Impostazioni origine selezionare un set di dati SAP CDC preparato oppure selezionare il pulsante Nuovo per crearne uno nuovo. In alternativa, è anche possibile selezionare Inline nella proprietà Tipo di origine e continuare senza definire un set di dati esplicito.

    Screenshot dell'opzione di selezione del set di dati nelle impostazioni di origine dell'origine del flusso di dati per mapping.

  4. Nella scheda Opzioni origine selezionare l'opzione Completa in ogni esecuzione se si vogliono caricare snapshot completi in ogni esecuzione del flusso di dati per mapping. Selezionare Completa alla prima esecuzione, quindi incrementale se si vuole sottoscrivere un feed di modifiche dal sistema di origine SAP, incluso uno snapshot iniziale completo dei dati. In questo caso, la prima esecuzione della pipeline esegue un'inizializzazione differenziale, ovvero crea una sottoscrizione delta ODP nel sistema di origine e restituisce uno snapshot completo dei dati corrente. Le esecuzioni successive della pipeline restituiscono solo modifiche incrementali dopo l'esecuzione precedente. L'opzione Solo modifiche incrementali crea una sottoscrizione delta ODP senza restituire uno snapshot iniziale completo dei dati nella prima esecuzione. Anche in questo caso le esecuzioni successive restituiscono solo modifiche incrementali dopo l'esecuzione precedente. Entrambe le opzioni di caricamento incrementale richiedono di specificare le chiavi dell'oggetto di origine ODP nella proprietà Colonne chiave.

    Screenshot della proprietà Modalità di esecuzione nelle opzioni di origine dell'origine del flusso di dati per mapping.

    Screenshot della selezione delle colonne chiave nelle opzioni di origine dell'origine del flusso di dati per mapping.

  5. Per le schede Proiezione, Ottimizza e Ispeziona, seguire il Flusso di dati per mapping.

Ottimizzazione delle prestazioni dei carichi completi o iniziali con il partizionamento di origine

Se la modalità di esecuzione è impostata su Completa per ogni esecuzione o Completa alla prima esecuzione, poi incrementale la scheda Ottimizza offre una selezione e un tipo di partizionamento denominato Source. Questa opzione consente di specificare più condizioni di partizione ( ovvero filtro) per suddividere un set di dati di origine di grandi dimensioni in più parti più piccole. Per ogni partizione il connettore SAP CDC attiva un processo di estrazione separato nel sistema di origine SAP.

Screenshot delle opzioni di partizionamento nell'ottimizzazione dell'origine del flusso di dati per mapping.

Se le partizioni hanno dimensioni uguali, il partizionamento di origine può aumentare in modo lineare la velocità effettiva dell'estrazione dei dati. Per ottenere tali miglioramenti delle prestazioni, sono necessarie risorse sufficienti nel sistema di origine SAP, nella macchina virtuale che ospita il runtime di integrazione self-hosted e in Azure Integration Runtime.