Share via


Replicar diversos objetos do SAP por meio do SAP CDC

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este artigo descreve um modelo de solução que pode ser usado para replicar diversos objetos ODP do SAP por meio do conector SAP CDC no Azure Data Lake Gen2 em formato Delta com partição de chave.

Sobre o modelo de solução

Esse modelo lê um arquivo de controle externo no formato JSON no repositório de armazenamento, que contém contextos de ODP do SAP, objetos de ODP do SAP e colunas de chave do sistema de origem SAP, bem como contêineres, pastas e partições do repositório de destino do Azure Data Lake Gen2. Em seguida, ele copia cada objeto do SAP ODP do sistema SAP para o Azure Data Lake Gen2 em formato Delta.

O modelo contém três atividades:

  • Lookup recupera a lista de objetos do SAP ODP a serem carregados e o caminho do repositório de destino de um arquivo de controle externo no repositório do Azure Data Lake Gen2.
  • ForEach obtém a lista de objetos do SAP ODP por meio da atividade Lookup e itera cada objeto para a atividade do fluxo de dados de mapeamento.
  • O fluxo de dados de mapeamento replica cada objeto do SAP ODP do sistema SAP no Azure Data Lake Gen2 em formato Delta. Ele fará um carregamento total inicial na primeira execução e, em seguida, fará um incremental automaticamente nas execuções subsequentes. Ele mesclará as alterações no Azure Data Lake Gen2 em formato Delta.

Um arquivo de controle externo no formato JSON é necessário nesse modelo. Veja a seguir o esquema do arquivo de controle.

  • checkPointKey é a chave personalizada para gerenciar o ponto de verificação da captura de dados alterada no ADF. Confira mais detalhes aqui.
  • sapContext é o contexto de ODP do SAP do sistema SAP de origem. Confira mais detalhes aqui.
  • sapObjectName é o nome do objeto de ODP do SAP a ser carregado do sistema SAP. Confira mais detalhes aqui.
  • sapRunMode destina-se a determinar como você deseja carregar o objeto SAP. Pode ser fullLoad, incrementalLoad ou fullAndIncrementalLoad.
  • sapKeyColumns são os nomes das colunas de chave de objetos de ODP do SAP usados para eliminar a duplicação no fluxo de dados de mapeamento.
  • sapPartitions são as listas de condições de partição que levam a processos de extração separados no sistema SAP conectado.
  • deltaContainer é o nome do contêiner no Azure Data Lake Gen2 como o repositório de destino.
  • deltaFolder é o nome da pasta no Azure Data Lake Gen2 como o repositório de destino.
  • deltaKeyColumns são as colunas usadas para determinar se uma linha da origem corresponde a uma do coletor quando você deseja atualizar ou excluir uma linha.
  • deltaPartition é a coluna usada ao criar partições para cada valor exclusivo contido nela a fim de gravar dados no formato Delta no Azure Data Lake Gen2 por meio do cluster do Spark que é usado pelo fluxo de dados de mapeamento. Confira mais detalhes aqui

Veja o seguinte arquivo de controle de exemplo:

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

Como usar este modelo de solução

  1. Crie e carregue um arquivo de controle no formato JSON no Azure Data Lake Gen2 como o repositório de destino. O contêiner padrão para armazenar o arquivo de controle é demonstração e o nome do arquivo de controle padrão é SapToDeltaParameters.json.

  2. Acesse o modelo Replicar diversas tabelas do SAP ODP no Azure Data Lake Storage Gen2 em formato Delta e clique nele.

    Screenshot of SAP CDC search template.

  3. Clique em Continuar e insira o serviço vinculado conectado ao sistema SAP como origem e o serviço vinculado conectado ao Azure Data Lake Gen2 como destino. Saiba mais sobre o serviço vinculado do SAP CDC aqui. O arquivo de controle externo deve ser carregado na mesma conta do Azure Data Lake Gen2.

    Screenshot of SAP CDC use template.

  4. Clique em Usar este modelo e o pipeline estará pronto para uso.

    Screenshot of SAP CDC pipeline.