Replicación de varios objetos de SAP a través de CDC de SAP

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

En este artículo se describe una plantilla de solución que puede usar para replicar varios objetos ODP desde SAP a través del conector CDC de SAP a Azure Data Lake Gen2 en formato Delta con partición de clave.

Acerca de esta plantilla de solución

Esta plantilla lee un archivo de control externo en formato json en el almacén de almacenamiento, que contiene los contextos de ODP de SAP, los objetos ODP de SAP y las columnas de clave del sistema de origen de SAP, así como los contenedores, carpetas y particiones del almacén de destino de Azure Data Lake Gen2. A continuación, copia cada uno de los objetos ODP de SAP del sistema SAP a Azure Data Lake Gen2 en formato Delta.

La plantilla contiene tres actividades:

  • La búsqueda recupera la lista de objetos ODP de SAP que se va a cargar y la ruta de acceso del almacén de destino desde un archivo de control externo en el almacén de Azure Data Lake Gen2.
  • ForEach obtiene la lista de objetos ODP de SAP de la actividad Lookup y recorre en iteración cada objeto a la actividad de flujo de datos de asignación.
  • El flujo de datos de asignación replica cada objeto ODP de SAP desde el sistema SAP a Azure Data Lake Gen2 en formato Delta. Realizará la carga completa inicial en la primera ejecución y, a continuación, realizará la carga incremental en las ejecuciones posteriores automáticamente. Combinará los cambios en Azure Data Lake Gen2 en formato Delta.

Se requiere un archivo de control externo en formato json para en esta plantilla. El esquema del archivo de control es el siguiente.

  • checkPointKey es la clave personalizada para administrar el punto de control de la captura de datos modificada en ADF. Puede obtener más detalles aquí.
  • sapContext es el contexto de ODP de SAP desde el sistema SAP de origen. Puede obtener más detalles aquí.
  • sapObjectName es el nombre del objeto ODP de SAP que se va a cargar desde el sistema SAP. Puede obtener más detalles aquí.
  • sapRunMode sirve para determinar cómo desea cargar el objeto de SAP. Las opciones son fullLoad, incrementalLoad o fullAndIncrementalLoad
  • sapKeyColumns son los nombres de columna de clave de los objetos ODP de SAP que se usan para realizar la desduplicación en el flujo de datos de asignación.
  • sapPartitions es una lista de condiciones de partición que conducen a procesos de extracción independientes en el sistema SAP conectado.
  • deltaContainer es el nombre del contenedor en Azure Data Lake Gen2 como almacén de destino.
  • deltaFolder es el nombre de la carpeta en Azure Data Lake Gen2 como almacén de destino.
  • deltaKeyColumns son las columnas que se usan para determinar si una fila del origen coincide con una fila del receptor cuando desea actualizar o eliminar una fila.
  • deltaPartition es la columna que se usa para crear particiones para cada valor único de dicha columna para escribir datos en formato Delta en Azure Data Lake Gen2 a través del clúster de Spark usado por el flujo de datos de asignación. Puede obtener más detalles aquí

A continuación, se muestra un archivo de control de ejemplo:

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

Uso de esta plantilla de solución

  1. Cree y cargue un archivo de control en formato json en Azure Data Lake Gen2 como almacén de destino. El contenedor predeterminado para almacenar el archivo de control es demo y el nombre de archivo de control predeterminado es SapToDeltaParameters.json.

  2. Vaya a Replicación de varias tablas de SAP ODP a Azure Data Lake Storage Gen2 en la plantilla de formato Delta y haga clic en ella.

    Screenshot of SAP CDC search template.

  3. Haga clic en Continuar y escriba el servicio vinculado conectado al sistema SAP como origen y el servicio vinculado conectado a Azure Data Lake Gen2 como destino. Puede obtener más detalles sobre el servicio vinculado CDC de SAP desde aquí. Tenga en cuenta que el archivo de control externo debe cargarse en la misma cuenta de Azure Data Lake Gen2.

    Screenshot of SAP CDC use template.

  4. Haga clic en Usar esta plantilla y verá que la canalización está lista para usarse.

    Screenshot of SAP CDC pipeline.