Share via


Replicar vários objetos do SAP via SAP CDC

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

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

Este artigo descreve um modelo de solução que você pode usar para replicar vários objetos ODP do SAP por meio do conector SAP CDC para o Azure Data Lake Gen2 no formato Delta com partição de chave.

Sobre este modelo de solução

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

O modelo contém três atividades:

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

Um arquivo de controle externo no formato json é necessário neste modelo. O esquema para o arquivo de controle é como abaixo.

  • checkPointKey é sua chave personalizada para gerenciar o ponto de verificação da captura de dados alterada no ADF. Pode obter mais detalhes aqui.
  • sapContext é o seu contexto SAP ODP do sistema SAP de origem. Pode obter mais detalhes aqui.
  • sapObjectName é o nome do objeto ODP do SAP a ser carregado a partir do sistema SAP. Pode obter mais detalhes aqui.
  • sapRunMode é determinar como você deseja carregar o objeto SAP. Pode ser fullLoad, incrementalLoad ou fullAndIncrementalLoad.
  • sapKeyColumns são seus nomes de coluna chave de objetos SAP ODP usados para fazer a duplicação no mapeamento de fluxo de dados.
  • sapPartitions são uma lista 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 sua pasta no Azure Data Lake Gen2 como o armazenamento de destino.
  • deltaKeyColumns são suas colunas usadas para determinar se uma linha da origem corresponde a uma linha do coletor quando você deseja atualizar ou excluir uma linha.
  • deltaPartition é sua coluna usada para criar partições para cada valor exclusivo nessa coluna para gravar dados no formato Delta no Azure Data Lake Gen2 por meio do cluster Spark usado pelo mapeamento do fluxo de dados. Pode obter mais detalhes aqui

Um arquivo de controle de exemplo é como abaixo:

[
  {
    "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 para seu Azure Data Lake Gen2 como o repositório de destino. O contêiner padrão para armazenar o arquivo de controle é demo e o nome do arquivo de controle padrão é SapToDeltaParameters.json.

  2. Vá para o modelo Replicar várias tabelas do SAP ODP para o Azure Data Lake Storage Gen2 no formato Delta e clique nele.

    Screenshot of SAP CDC search template.

  3. Clique em Continuar e insira seu serviço vinculado conectado ao sistema SAP como origem e o serviço vinculado conectado ao Azure Data Lake Gen2 como destino. Você pode obter mais detalhes sobre o serviço vinculado SAP CDC aqui. Lembre-se de que seu 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 verá que o pipeline está pronto para uso.

    Screenshot of SAP CDC pipeline.