Replicar varios objetos de SAP mediante SAP CDC

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Sugerencia

Data Factory en Microsoft Fabric es la próxima generación de Azure Data Factory, con una arquitectura más sencilla, inteligencia artificial integrada y nuevas características. Si no está familiarizado con la integración de datos, comience con Fabric Data Factory. Las cargas de trabajo de ADF existentes pueden actualizarse a Fabric para acceder a nuevas funcionalidades en ciencia de datos, análisis en tiempo real e informes.

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 para 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 desde el sistema SAP a Azure Data Lake Gen2 en formato Delta.

La plantilla contiene tres actividades:

  • Lookup 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 de búsqueda y recorre cada objeto en la actividad de flujo de datos de mapeo.
  • Mapping dataflow 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. Se fusionarán los cambios en Azure Data Lake Gen2 utilizando el 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 el Azure Data Lake Gen2 como almacén de destino.
  • deltaFolder es el nombre de carpeta del Azure Data Lake Gen2 como almacén de destino.
  • deltaKeyColumns son las columnas que se utilizan para determinar si una fila del origen coincide con una fila del destino al querer actualizar o eliminar una fila.
  • deltaPartition es tu columna utilizada para crear particiones para cada valor único en dicha columna y escribir datos en formato Delta en Azure Data Lake Gen2 a través del clúster de Spark utilizado por el flujo de datos de mapeo. 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 la 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.

    Captura de pantalla de la plantilla de búsqueda CDC de SAP.

  3. Haga clic en Continue 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.

    Captura de pantalla de la plantilla de uso de CDC de SAP.

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

    Captura de pantalla de la canalización CDC de SAP.