다음을 통해 공유


SAP CDC를 통해 SAP에서 여러 개체 복제

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 키 파티션을 사용하여 SAP CDC 커넥터를 통해 SAP에서 델타 형식의 Azure Data Lake Gen2로 여러 ODP 개체를 복제하는 데 사용할 수 있는 솔루션 템플릿을 설명합니다.

이 솔루션 템플릿 정보

이 템플릿은 스토리지 저장소에서 json 형식의 외부 제어 파일을 읽습니다. 이 파일에는 SAP ODP 컨텍스트, SAP ODP 개체 및 SAP 원본 시스템의 키 열뿐만 아니라 Azure Data Lake Gen2 대상 저장소의 컨테이너, 폴더 및 파티션이 포함됩니다. 그런 다음 각 SAP ODP 개체를 SAP 시스템에서 Azure Data Lake Gen2로 델타 형식으로 복사합니다.

이 템플릿은 다음 세 가지 작업을 포함합니다.

  • Lookup는 Azure Data Lake Gen2 저장소의 외부 제어 파일에서 로드할 SAP ODP 개체 목록과 대상 저장소 경로를 검색합니다.
  • ForEach는 조회 작업에서 SAP ODP 개체 목록을 가져오고 각 개체를 매핑 데이터 흐름 작업으로 반복합니다.
  • 매핑 데이터 흐름은 각 SAP ODP 개체를 SAP 시스템에서 Azure Data Lake Gen2로 델타 형식으로 복제합니다. 첫 번째 실행에서 초기 전체 로드를 수행한 다음, 후속 실행에서 자동으로 증분 로드를 수행합니다. 변경 내용을 델타 형식으로 Azure Data Lake Gen2에 병합합니다.

이 템플릿에는 json 형식의 외부 컨트롤 파일이 필요합니다. 컨트롤 파일의 스키마는 다음과 같습니다.

  • checkPointKey는 ADF에서 변경 데이터 캡처의 검사점을 관리하는 사용자 지정 키입니다. 자세한 내용은 여기서 확인할 수 있습니다.
  • sapContext는 원본 SAP 시스템의 SAP ODP 컨텍스트입니다. 자세한 내용은 여기서 확인할 수 있습니다.
  • sapObjectName은 SAP 시스템에서 로드할 SAP ODP 개체 이름입니다. 자세한 내용은 여기서 확인할 수 있습니다.
  • sapRunMode는 SAP 개체를 로드하는 방법을 결정하기 위한 것입니다. fullLoad, incrementalLoad 또는 fullAndIncrementalLoad일 수 있습니다.
  • sapKeyColumns는 매핑 데이터 흐름에서 중복 제거를 수행하는 데 사용되는 SAP ODP 개체의 키 열 이름입니다.
  • sapPartitions는 연결된 SAP 시스템에서 별도의 추출 프로세스로 이어지는 파티션 조건 목록입니다.
  • deltaContainer는 대상 저장소인 Azure Data Lake Gen2의 컨테이너 이름입니다.
  • deltaFolder는 대상 저장소인 Azure Data Lake Gen2의 폴더 이름입니다.
  • deltaKeyColumns는 행을 업데이트하거나 삭제하려는 경우 원본의 행이 싱크의 행과 일치하는지 확인하는 데 사용되는 열입니다.
  • deltaPartition은 각 고유 값에 대한 파티션을 만드는 데 사용되는 열이며, 그러한 열에서 데이터 흐름을 매핑하는 데 사용되는 Spark 클러스터를 통해 Azure Data Lake Gen2의 델타 형식으로 데이터를 씁니다. 자세한 내용은 여기서 확인할 수 있습니다.

샘플 컨트롤 파일은 다음과 같습니다.

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

이 솔루션 템플릿을 사용하는 방법

  1. 대상 저장소인 Azure Data Lake Gen2에 json 형식으로 컨트롤 파일을 만들고 업로드합니다. 컨트롤 파일을 저장하는 기본 컨테이너는 데모이고 기본 컨트롤 파일 이름은 SapToDeltaParameters.json입니다.

  2. 델타 형식으로 다중 테이블을 SAP ODP에서 Azure Data Lake Storage Gen2로 복제 템플릿으로 이동하여 클릭합니다.

    Screenshot of SAP CDC search template.

  3. 계속을 클릭하고 SAP 시스템에 연결되어 있는 연결된 서비스를 원본으로 입력하고 Azure Data Lake Gen2에 연결된 서비스를 대상으로 입력합니다. 여기서 SAP CDC 연결된 서비스에 대한 자세한 내용을 확인할 수 있습니다. 외부 제어 파일은 Azure Data Lake Gen2의 동일한 계정에 업로드되어야 합니다.

    Screenshot of SAP CDC use template.

  4. 이 템플릿 사용을 클릭하면 파이프라인을 사용할 준비가 된 것을 볼 수 있습니다.

    Screenshot of SAP CDC pipeline.