이 가이드에서는 SAP BW Open Hub Batch Source 플러그인을 사용하는 데이터 플러그인을 배포, 구성, 실행하는 방법을 설명합니다. BW Open Hub Service를 통해 Cloud Data Fusion에서 일괄 기반 및 델타 기반 데이터 추출을 위한 소스로 SAP를 사용할 수 있습니다.
이 플러그인은 Cloud Data Fusion을 사용하여 SAP 애플리케이션에서 일괄 데이터 통합을 지원합니다. 코딩 없이 SAP DataSources에서 일괄 데이터 전송을 구성하고 실행할 수 있습니다.
추출에 지원되는 SAP 애플리케이션 및 객체는 지원 세부정보를 참조하세요. Google Cloud 기반 SAP 실행에 대한 자세한 내용은 Google Cloud에서 사용하는 SAP 개요를 참조하세요.
목표
- SAP BW 시스템을 구성합니다.
- Cloud Data Fusion 환경에 플러그인을 배포합니다.
- Cloud Data Fusion에서 SAP 전송을 다운로드하고 SAP에 설치합니다.
- Cloud Data Fusion 및 SAP BW Open Hub Batch Source를 사용하여 SAP 데이터 통합을 위한 데이터 파이프라인을 만듭니다.
시작하기 전에
이 플러그인을 사용하려면 다음 영역에 대한 도메인 지식이 필요합니다.
- Cloud Data Fusion에서 파이프라인 빌드
- SAP BW 또는 BW4HANA 시스템 구성
사용자 역할
이 페이지의 작업은 Google Cloud 또는 SAP 시스템에서 다음 역할을 가진 사용자가 수행합니다.
사용자 유형 | 설명 |
---|---|
Google Cloud 관리자 | 이 역할이 할당된 사용자는 Google Cloud 계정의 관리자입니다. |
Cloud Data Fusion 사용자 | 이 역할이 할당된 사용자는 데이터 파이프라인을 설계하고 실행할 수 있는 권한이 있습니다. 이 역할에는 최소한의 Data Fusion 뷰어(roles/datafusion.viewer ) 역할이 부여됩니다. 역할 기반 액세스 제어를 사용하는 경우 추가 역할이 필요할 수 있습니다.
|
SAP 관리자 | 이 역할이 할당된 사용자는 SAP 시스템의 관리자입니다. 사용자는 SAP 서비스 사이트에서 소프트웨어를 다운로드할 수 있습니다. IAM 역할이 아닙니다. |
SAP 사용자 | 이 역할이 할당된 사용자는 SAP 시스템에 연결할 수 있는 권한이 있습니다. IAM 역할이 아닙니다. |
SAP BW의 기본 요건
데이터 전송 프로세스 및 프로세스 체인을 만들고 수정하려면 SAP HANA Studio가 필요합니다.
Cloud Data Fusion 기본 요건
- Cloud Data Fusion 인스턴스를 만들려면 VPC 네트워크가 필요합니다.
- Cloud Data Fusion 인스턴스 버전 6.8.0 이상이 필요합니다.
- Cloud Data Fusion 인스턴스에 할당된 서비스 계정에 필요한 역할을 부여해야 합니다. 자세한 내용은 서비스 계정 사용자 권한 부여를 참조하세요.
- VPC와 Google의 공유 VPC 네트워크 사이에 피어링 연결을 사용해야 합니다.
SAP BW 시스템 구성
SAP BW Open Hub Batch Source는 데이터를 추출하려는 각 SAP 서버에 설치해야 하는 원격 함수 모듈(RFM)을 사용합니다. 이 RFM은 SAP 전송으로 제공됩니다.
SAP 시스템을 구성하려면 다음 단계를 따르세요.
- Cloud Data Fusion 사용자는 SAP 전송이 포함된 ZIP 파일을 다운로드하여 SAP 관리자에게 제공해야 합니다. 자세한 내용은 Cloud Data Fusion 설정을 참조하세요.
- SAP 관리자는 SAP 전송을 SAP 시스템으로 가져와 생성된 객체를 확인해야 합니다. 자세한 내용은 SAP 전송 설치를 참조하세요.
- (선택사항) SAP 사용자는 조직의 보안 정책에 따라 전송된
/GOOG/BWOH_CDF_AUTH
역할의 SAP Standard Authorization 객체를 수정할 수 있습니다.
SAP 전송 파일 설치
Cloud Data Fusion에서 데이터 파이프라인을 설계하고 실행할 수 있도록 SAP 구성요소는 zip 파일에 보관처리된 SAP 전송 파일로 제공됩니다. Cloud Data Fusion 허브에서 플러그인을 배포할 때 다운로드할 수 있습니다.
SAP 전송 요청 ID와 관련 파일은 다음 표에 나와 있습니다.
SAP 전송
전송 ID | Cofile | 데이터 파일 | 콘텐츠 |
---|---|---|---|
BW1K900054 | K900054.BW1 | R900054.BW1 | BWOH Cloud Data Fusion 커넥터 버전 1.0 함수 모듈: /GOOG/BWOH_GET_PC_LOG /GOOG/BWOH_GET_PRO_CHA_DETAILS /GOOG/BWOH_API_OHS_ETL_READ /GOOG/BWOH_GET_PC_RUNS /GOOG/BWOH_SET_LAST_RUN /GOOG/BWOH_GET_PC_OHD_LIST |
BW1K900055 | K900055.BW1 | R900055.BW1 | 승인 역할 /GOOG/BWOH_CDF_AUTH |
SAP 전송을 설치하려면 다음 단계를 따르세요.
1단계: 전송 요청 파일 업로드
- SAP 인스턴스의 운영체제에 로그인합니다.
- SAP 트랜잭션 코드
AL11
을 사용해서DIR_TRANS
폴더의 경로를 가져옵니다. 일반적으로 경로는/usr/sap/trans/
입니다. - cofile을
DIR_TRANS/cofiles
폴더에 복사합니다. - 데이터 파일을
DIR_TRANS/data
폴더에 복사합니다. - 데이터와 cofile의 사용자 및 그룹을
<sid>adm
및sapsys
로 설정합니다.
2단계: 전송 요청 파일 가져오기
SAP 관리자는 다음 옵션 중 하나를 사용하여 전송 요청 파일을 가져올 수 있습니다.
옵션 1: SAP 전송 관리 시스템을 사용하여 전송 요청 파일 가져오기
- SAP 시스템에 SAP 관리자로 로그인합니다.
- 트랜잭션 STMS를 입력합니다.
- 개요 > 가져오기를 클릭합니다.
- 대기열 열에서 현재 SID를 더블클릭합니다.
- 기타 > 기타 요청 > 추가를 클릭합니다.
- 전송 요청 ID를 선택하고 계속을 클릭합니다.
- 가져오기 큐에서 전송 요청을 선택한 다음 요청 > 가져오기를 클릭합니다.
- 클라이언트 번호를 입력합니다.
옵션 탭에서 원본 덮어쓰기 및 잘못된 구성요소 버전 무시를 선택합니다.
(선택사항) 나중에 가져올 수 있도록 큐에 전송 요청 두기를 선택합니다. 이렇게 하면 모든 요청을 다음에 가져올 때 올바른 순서로 요청을 다시 가져올 수 있습니다. 이 옵션은 개별 요청에 대해 예비 가져오기를 수행해야 하는 경우에 유용합니다.
계속을 클릭합니다.
SE80
및PFCG
와 같은 적절한 트랜잭션을 사용하여 함수 모듈 및 승인 역할을 성공적으로 가져왔는지 확인합니다.
옵션 2: 운영체제 수준에서 전송 요청 파일 가져오기
- SAP 시스템에 SAP 관리자로 로그인합니다.
가져오기 버퍼에 적절한 요청을 추가합니다.
tp addtobuffer TRANSPORT_REQUEST_ID SID
예를 들면
tp addtobuffer BW1K900054 DD1
입니다.전송 요청을 가져옵니다.
tp import TRANSPORT_REQUEST_ID SID client=NNN U1238
NNN
을 클라이언트 번호로 바꿉니다. 예를 들면 다음과 같습니다.tp import BW1K900054 DD1 client=100 U1238
SE80
및PFCG
과 같은 적절한 트랜잭션을 사용하여 함수 모듈 및 승인 역할을 성공적으로 가져왔는지 확인합니다.
필수 SAP 승인
Cloud Data Fusion에서 데이터 파이프라인을 실행하려면 SAP 사용자가 필요합니다. SAP 사용자는 Communications
또는 Dialog
유형이어야 합니다. SAP 대화상자 리소스를 사용하지 않으려면 Communications
유형을 사용하는 것이 좋습니다. SAP 관리자는 SAP 트랜잭션 코드 SU01
을 사용하여 사용자를 만들 수 있습니다.
SAP용 커넥터를 구성하려면 SAP 승인이 필요합니다. 커넥터별 SAP 승인 객체는 전송 요청의 일부로 제공됩니다. SAP 전송 설치에 설명된 대로 승인 역할 전송을 가져와서 역할을 시스템에 가져오고 PFCG 트랜잭션 코드에서 역할을 생성합니다.
표준 SAP 승인 객체의 경우 조직에서 자체 보안 메커니즘을 사용하여 권한을 관리합니다. 조직의 보안 정책을 기반으로 승인 객체를 유지할 수 있습니다.
프로세스 체인(PC) 및 데이터 전송 프로세스(DTP) 만들기
프로세스 체인 및 데이터 전송 프로세스를 만들려면 몇 가지 추가적인 기술과 배경 지식이 필요합니다.
배경 개념
PC 및 DTP를 만들거나 수정하려면 SAP HANA Studio를 사용합니다.
선행 기술
- 변환을 사용하여 소스와 대상 객체 사이에 데이터 흐름을 정의해야 합니다.
- DataStore 객체(DSO), 데이터 전송, InfoCubes, 쿼리 최적화, HANA 모델링, HANA Studio를 사용하는 HANA DB 기능과 같은 기본 BW 및 HANA 개념에 대해 잘 알고 있어야 합니다. 이러한 개념에 대한 자세한 내용은 BW 및 HANA에 대한 SAP 튜토리얼을 참조하세요.
추출 유형
데이터 전송 프로세스에는 전체 및 델타의 두 가지 데이터 추출 모드가 있습니다.
전체: DTP에 언급된 필터 조건을 기준으로 소스에서 사용 가능한 모든 데이터를 선택합니다. 데이터 소스가 다음 InfoProvider 중 하나이면 전체 추출 모드만 사용할 수 있습니다.
- InfoObjects
- InfoSets
- 직접 업데이트를 위한 DataStore 객체
델타: InfoPackage와 달리 DTP를 사용하는 델타 전송은 명시적인 초기화가 필요하지 않습니다. 델타 추출 모드를 사용하여 DTP를 처음 실행할 때는 추출 시간까지 모든 기존 요청이 소스에서 검색되고, 이후 델타가 자동으로 초기화됩니다.
델타 추출 모드의 DTP에서 사용할 수 있는 옵션은 다음과 같습니다.
- 1회만 델타 가져오기
- 요청별로 모든 새 데이터 요청 가져오기
- 더 이상 새 데이터가 없을 때까지 검색
패키지 크기: 개별 데이터 패키지에 제공된 데이터 레코드 수입니다. 기본값은 50,000
입니다.
프로세스 체인 만들기
프로세스 체인(PC)을 만들려면 SAP GUI에서 트랜잭션 RSPC를 사용합니다. 시작 프로세스를 정의한 후 프로세스 단계 및 DTP를 추가합니다. 자세한 내용은 프로세스 체인 만들기에 대한 SAP 문서를 참조하세요.
HANA Studio에는 PC 모니터링 및 관리를 위해 다양한 옵션이 제공됩니다. 자세한 내용은 SAP BW/4HANA 프로세스 체인 작업을 참조하세요.
프로세스 체인을 사용하여 데이터 전송 프로세스 만들기
데이터 전송 프로세스에 사용하려는 프로세스 체인의 계획 뷰로 이동합니다. 계획 뷰에서 HANA Studio를 사용하여 DTP를 만들 수 있습니다. 자세한 내용은 데이터 전송 프로세스 만들기에 대한 SAP 문서를 참조하세요.
구성 옵션에 대한 자세한 내용은 데이터 전송 프로세스(DTP) 정보 – SAP BW 7을 참조하세요.
RFC 연결
SAP BW Open Hub Batch Source 플러그인과 같은 콜백 시스템에 데이터 사용 가능 상태를 알리려면 RFC 대상을 사용하도록 프로세스 체인을 업데이트해야 합니다.
SM59에서 TCP/IP 연결 유형의 RFC 연결을 만들어서 BI에서 데이터 로드가 완료되면 BW에서 대상 시스템에 알립니다.
RFC 연결을 더블클릭하여 프로그램 ID가 RFC 연결에 구성되어 있는지 확인합니다. 런타임 리스너 충돌을 피하기 위해 각 RFC 대상에 대해 프로그램 ID가 고유해야 합니다.
프로세스 체인에서 새로 만든 TCP/IP 연결을 사용하여 Cloud Data Fusion 일괄 작업을 완료하기 위한 알림을 보냅니다. 프로세스 체인 이름은 대소문자를 구분하지 않습니다. 엔드 투 엔드 통합 프로세스에서 대문자로 올바르게 지정해야 합니다.
프로세스 체인 및 데이터 전송 프로세스 로그 표시
Tcode: RSPC로 이동하고 프로세스 체인을 클릭합니다.
로그를 표시할 프로세스 체인을 마우스 오른쪽 버튼으로 클릭하고 로그 표시를 클릭합니다.
프로세스 체인을 사용할 때 Dataproc 클러스터 구성
RFC 서버를 통해 통신을 사용 설정하려면 Dataproc 클러스터 노드의 /etc/services
파일에 SAP Gateway 포트 항목을 추가해야 합니다.
클러스터가 초기화할 때 실행할 스크립트인 init action
을 사용하는 것이 좋습니다. 자세한 내용은 초기화 작업을 참조하세요.
스크립트 파일을 만들고 Cloud Storage 버킷에 저장합니다. 다음은 스크립트 파일의 콘텐츠를 보여주는 예시입니다.
gs://cdf-sap-dependent-files/addgw.sh
#!/bin/bash
echo 'sapgw00 3300/tcp' >> /etc/services
echo 'sapgw01 3301/tcp' >> /etc/services
echo 'sapgw02 3302/tcp' >> /etc/services
echo 'sapgw03 3303/tcp' >> /etc/services
echo 'sapgw04 3304/tcp' >> /etc/services
위 예시에서 다음 항목에 유의하세요.
항목은
sapgwxx 33xx/tcp
형식이며, 여기서XX
는 SAP 인스턴스 번호입니다.SAP 인스턴스
00
~04
의 포트가 추가됩니다.
임시 또는 새로 만든 영구 또는 기존 영구 Dataproc 클러스터를 사용하는 경우 다음 단계를 수행합니다.
임시 Dataproc 클러스터
임시 Dataproc 클러스터를 사용하는 경우 init
스크립트 경로를 클러스터 속성에 추가합니다.
- 작업 모니터의 Cloud Data Fusion의 파이프라인 페이지에서 구성을 클릭합니다.
- 컴퓨팅 프로필을 선택하고 맞춤설정을 클릭합니다.
- 고급 설정의 초기화 작업 필드에
init
스크립트 경로를 입력합니다.
새 영구 Dataproc 클러스터
새로 만든 영구 Dataproc 클러스터를 사용하는 경우 gcloud 명령어의 init
스크립트를 사용하여 클러스터를 만듭니다. 예를 들면 다음과 같습니다.
gcloud dataproc clusters create cluster-name \
--region=${REGION} \
--initialization-actions=gs://cdf-sap-dependent-files/addgw.sh \
... other flags ...
기존 영구 Dataproc 클러스터
기존 영구 Dataproc 클러스터를 사용하는 경우 다음 단계를 따르세요.
init
스크립트를 사용하지 않고 클러스터를 이미 만든 경우 Dataproc 클러스터의 마스터 및 워커 노드 모두에 항목을 수동으로 추가합니다.
- 마스터 및 클러스터 노드에 SSH로 연결합니다.
- 루트 사용자 ID로 로그인합니다.
/etc/
로 이동하여 VI 편집기에서/etc/services
파일을 엽니다.sapgwxx 33xx/tcp
항목을 추가합니다.xx
를 SAP 인스턴스 번호로 바꿉니다./etc/services
파일을 저장합니다.
Cloud Data Fusion 설정
Cloud Data Fusion 인스턴스와 SAP 서버 간에 통신이 사용 설정되어 있는지 확인합니다. 비공개 인스턴스의 경우 네트워크 피어링을 설정합니다. SAP 시스템이 호스팅되는 프로젝트와 네트워크 피어링이 설정되면 Cloud Data Fusion 인스턴스에 연결하는 데 추가 구성이 필요하지 않습니다. SAP 시스템과 Cloud Data Fusion 인스턴스는 동일한 프로젝트 내에 있어야 합니다.
Cloud Data Fusion 사용자를 위한 단계
- 인스턴스 세부정보로 이동합니다.
Google Cloud 콘솔에서 Cloud Data Fusion 페이지로 이동합니다.
인스턴스를 클릭한 후 인스턴스 이름을 클릭하여 인스턴스 세부정보 페이지로 이동합니다.
- 인스턴스가 버전 6.8.0 이상으로 업그레이드되었는지 확인합니다. 인스턴스가 이전 버전인 경우 업그레이드해야 합니다.
- 인스턴스를 엽니다. Cloud Data Fusion UI가 열리면 허브를 클릭합니다.
- SAP 탭 > SAP BW를 선택합니다. SAP 탭이 표시되지 않으면 SAP 통합 문제 해결을 참조하세요.
- SAP BW 플러그인 배포를 클릭합니다. 스튜디오 페이지의 소스 메뉴에 플러그인이 표시됩니다.
SAP 관리자 및 Google Cloud 관리자 단계
SAP 관리자는 SAP 지원 사이트에서 다음 JCo 아티팩트를 다운로드하여 Google Cloud 관리자에게 제공합니다.
- 하나의 플랫폼에 종속되지 않는 아티팩트(
sapjco3.jar
) - 하나의 플랫폼 종속 아티팩트(Unix의
libsapjco3.so
)
파일을 다운로드하려면 다음 단계를 따르세요.
- SAP 커넥터 페이지로 이동합니다.
- SAP 자바 커넥터/도구 및 서비스를 클릭합니다. 다운로드용 플랫폼별 링크를 선택할 수 있습니다.
Cloud Data Fusion 인스턴스가 실행되는 플랫폼을 선택합니다.
- 클러스터의 VM에 표준 Google Cloud 이미지(Cloud Data Fusion의 기본값)를 사용하는 경우 Linux for Intel compatible processors 64-bit x86(인텔 호환 프로세서 64비트 x86용 Linux)을 선택합니다.
- 커스텀 이미지를 사용하는 경우 해당 플랫폼을 선택합니다.
Google Cloud 관리자는 JCo 파일을 읽을 수 있는 Cloud Storage 버킷에 복사해야 합니다. Cloud Data Fusion 사용자에게 버킷 경로를 제공하여 Cloud Data Fusion의 해당 플러그인 속성에 입력합니다(SAP JCo 라이브러리 GCS 경로). 플러그인 구성을 참조하세요.
Google Cloud 관리자는 설계 환경에 대해서는 Cloud Data Fusion 서비스 계정에, 실행 환경에 대해서는 Dataproc 서비스 계정에 두 파일의 읽기 액세스 권한을 부여해야 합니다. 자세한 내용은 Cloud Data Fusion 서비스 계정을 참조하세요.
플러그인 구성
SAP BW Open Hub Batch Source 플러그인은 SAP DataSource의 콘텐츠를 읽습니다.
레코드를 필터링하려면 SAP BW Open Hub Batch Source에 대해 다음 속성을 구성할 수 있습니다.
다음 표시는 필드 정의를 위해 사용됩니다.
- (M): 해당 필드에 매크로가 지원됨을 나타냅니다.
- (O): 선택적인 필드
라벨: 캔버스의 플러그인 라벨입니다.
기본
다음 속성 목록에서 (M)은 옵션에 매크로가 지원되고 이를 사용해서 SAP 연결을 중앙에서 관리할 수 있음을 의미합니다. 예를 들어 연결 속성에 매크로를 사용하고 런타임 매개변수 또는 Argument Setter 플러그인을 사용하여 런타임에 값을 설정할 수 있습니다.
- 참조 이름: 계보 및 주석 메타데이터에 대해 이 소스를 고유하게 식별하는 데 사용되는 이름입니다.
연결 사용(사용/사용 중지 전환): 기존 연결을 사용할지 여부입니다(연결 관리 참조). 기존 연결을 사용하는 경우 SAP 연결 세부정보를 제공할 필요가 없습니다.
연결(연결 탐색): 사용할 기존 연결을 선택합니다. 매크로 함수
${conn(connection-name)}
을 사용할 수도 있습니다.SAP 클라이언트(M): 사용할 SAP 클라이언트입니다. 예를 들면
100
입니다.SAP 언어(M): SAP 로그온 언어입니다. 예를 들면
EN
입니다.연결 유형: 직접 또는 부하 분산 중 하나인 SAP 연결 유형입니다. 부하 분산 연결은 프로세스 체인 기반 추출에 지원되지 않습니다. 자세한 내용은 지원 세부정보를 참조하세요.
연결 유형을 선택하면 사용 가능한 필드가 변경됩니다.
직접 연결의 경우 다음 필드를 사용할 수 있습니다.
- SAP 애플리케이션 서버 호스트(M): SAP 서버 이름 또는 IP 주소입니다.
- SAP 시스템 번호(M): SAP 시스템 번호입니다. 예를 들면
00
입니다. - SAP 라우터(M, O): 라우터 문자열입니다.
부하 분산 연결의 경우 다음 필드를 사용할 수 있습니다.
- SAP 메시지 서버 호스트(M): SAP 메시지 호스트 이름 또는 IP 주소입니다.
- SAP 메시지 서버 서비스 또는 포트 번호(M): SAP 메시지 서버 서비스 또는 포트 번호입니다. 예를 들면
sapms02
입니다. - SAP 시스템 ID(SID)(M): SAP 시스템 ID입니다. 예를 들면
N75
입니다. - SAP 로그온 그룹 이름(M): SAP 로그온 그룹 이름입니다. 예를 들면
PUBLIC
입니다.
프로세스 체인 사용(M): 이 필드에는 두 가지 옵션이 포함됩니다.
예 옵션을 사용하여 프로세스 체인을 사용 설정하면 다음 속성이 사용 설정됩니다.
자동으로 PC 및 DTP 오류 해결: 이전에 실패한 실행이 식별되면 동작을 제어합니다. 사용 중지된 경우 관련 오류와 함께 플러그인에서 파이프라인이 실패합니다. 사용 설정된 경우(기본값) 플러그인이 SAP에서 프로세스 체인 및 데이터 전송 프로세스 상태를 확인합니다. 다음 오류가 식별되면 플러그인이 자동으로 해결을 시도합니다.
Data Transfer Process in error state
: 플러그인이 이전 요청 삭제previous request status has not been set
오류가 있는 빨간색 상태의 프로세스 체인: 플러그인이 프로세스 체인 로그에서 요청 ID를 가져온 후 차단 요청을 삭제하고 PC 실행을 시도합니다.프로세스 체인 상태 알림 대기 시간(분)(M, O): 프로세스 체인이 데이터 스테이징을 완료할 때까지 일정 시간(분) 동안 기다리고 파이프라인에 추출 시작을 알립니다.
0
을 지정하거나 비워 두면 기본값 10분이 사용됩니다.프로세스 체인(M): SAP 프로세스 체인 이름입니다. 예를 들면
PC_RFC
입니다.
아니요 옵션을 사용하여 프로세스 체인을 사용 중지하면 다음 속성이 사용 설정됩니다.
- Open Hub 대상(M): 읽으려는 Open Hub 대상 이름입니다.
- 요청 ID(M,O): 이미 실행된 데이터 전송 프로세스의 요청 ID입니다.
사용자 인증 정보
- SAP 로그온 사용자 이름(M): SAP 사용자 이름입니다. 권장: SAP 로그온 사용자 이름이 주기적으로 변경되는 경우 매크로를 사용합니다.
- SAP 로그온 비밀번호(M): SAP 사용자 비밀번호입니다. 권장: 사용자 비밀번호와 같은 민감한 값에는 보안 매크로를 사용합니다.
SAP JCo 세부정보
- GCP 프로젝트 ID(M): 프로젝트를 고유하게 식별하는 Google Cloud 프로젝트 ID입니다. Google Cloud 콘솔의 대시보드에서 확인할 수 있습니다.
- SAP JCo Library GCS Path(M): 사용자가 업로드한 SAP JCo 라이브러리 파일을 포함하는 Cloud Storage 경로.
- 스키마 가져오기: SAP 데이터 유형을 해당 Cloud Data Fusion 데이터 유형에 자동으로 매핑하고 플러그인이 SAP에서 메타데이터를 기반으로 스키마를 생성하도록 하려면 이 항목을 클릭합니다. 이 기능은 검증 버튼과 동일합니다.
클라이언트 인증서에 대한 자세한 내용은 ABAP용 SAP NetWeaver Application Server에서 X.509 클라이언트 인증서 사용을 참조하세요.
고급
생성할 분할 수(M, O): 분할 수는 입력 데이터를 분할하는 데 사용됩니다. 분할 수가 많을수록 동시 로드 수준이 늘어나지만 리소스와 오버헤드가 더 많이 필요합니다. SAP 온프레미스 시스템의 경우 값이 UI에 지정되지 않으면 SAP에서 사용 가능한 대화상자 작업 프로세스의 50%로 분할됩니다. 그렇지 않으면 사용자 지정 값과 사용 가능한 작업 프로세스의 50% 사이에서 분할이 최적화됩니다.
권장: SAP 시스템 설정에 익숙하지 않으면 속성을 비워 둡니다.
추가 SAP 연결 속성(M, O): SAP JCo 기본값을 재정의하는 추가 SAP JCo 속성을 설정합니다. 예를 들어
jco.destination.pool_capacity = 10
을 설정하면 기본 연결 풀 용량이 재정의됩니다.다음 표에는 지원되는 SAP JCo 속성이 나와 있습니다.
속성 설명 jco.destination.peak_limit
한 대상에 동시에 만들 수 있는 최대 활성 연결 수입니다. jco.destination.pool_capacity
대상에서 열린 상태로 유지되는 최대 유휴 연결 수입니다. 0
값에는 연결 풀링이 적용되지 않는 효과가 있습니다. 즉, 요청이 있을 때마다 연결이 닫힙니다.jco.destination.expiration_time
내부 풀에서 보류된 연결을 닫을 수 있게 된 후 경과한 시간( ms
)입니다.jco.destination.expiration_check_period
제한 시간 검사기 스레드가 풀에서 연결의 만료를 확인하는 간격( ms
)입니다.jco.destination.max_get_client_time
애플리케이션에서 허용된 최대 연결 수가 할당된 경우 연결을 대기할 최대 시간( ms
)입니다.
데이터 추출 모드 동작
데이터 추출 모드는 데이터 전송 프로세스 설정을 통해 제어됩니다. 프로세스 체인을 사용할 때와 Open Hub 대상을 사용할 때는 동작이 다릅니다.
프로세스 체인을 사용하는 경우
데이터 전송 프로세스 수준의 설정은 전체 또는 델타 로드가 수행되는지 여부를 제어합니다. 요청 ID는 SAP에서 플러그인으로 알림으로 도착합니다. 플러그인은 이 단일 요청 ID와 연관된 패킷 데이터를 읽습니다.
요청 ID 없이 Open Hub 대상을 사용하는 경우
전체 로드: 파이프라인을 처음 실행하면 Open Hub 테이블에서 사용 가능한 모든 요청 ID를 가져옵니다. 플러그인은 이러한 요청 ID와 연관된 패킷 데이터를 읽습니다.
델타 로드: 그 다음 동일한 파이프라인을 실행하면 마지막으로 가져온 요청 ID 이후 사용 가능한 모든 델타 요청 ID를 가져옵니다. 플러그인은 이러한 요청 ID와 연관된 패킷 데이터를 읽습니다.
요청 ID와 함께 Open Hub 대상을 사용하는 경우
전체 로드: 파이프라인을 처음 실행하면 지정된 요청 ID보다 큰 그 다음으로 사용 가능한 모든 요청 ID를 가져옵니다. 플러그인은 이러한 요청 ID와 연관된 패킷 데이터를 읽습니다.
델타 로드: 그 다음 동일한 파이프라인을 실행하면 마지막으로 가져온 요청 ID 이후 사용 가능한 모든 델타 요청 ID를 가져옵니다. 플러그인은 이러한 요청 ID와 연관된 패킷 데이터를 읽습니다.
데이터 유형 매핑
다음 표에서는 SAP BW와 Cloud Data Fusion에 사용되는 데이터 유형 간의 매핑을 보여줍니다.
BW 데이터 유형 | ABAP 유형 | 설명(SAP) | Cloud Data Fusion 데이터 유형 | |
---|---|---|---|---|
숫자 | ||||
INT1 | b |
1바이트 정수 | integer |
|
INT2 | s |
2바이트 정수 | integer |
|
INT4 | i |
4바이트 정수 | integer |
|
INT8 | 8 |
8바이트 정수 | long |
|
12월 | p |
BCD 형식의 압축 번호(DEC) | decimal |
|
DF16_DEC DF16_RAW |
a |
10진 부동 소수점 8바이트 IEEE 754r | decimal |
|
DF34_DEC DF34_RAW |
e |
10진 부동 소수점 16바이트 IEEE 754r | decimal |
|
FLTP | f |
바이너리 부동 소수점 수 | double |
|
문자 | ||||
CHAR LCHR |
c |
문자열 | string |
|
SSTRING GEOM_EWKB |
string |
문자열 | string |
|
STRING | string |
문자열 CLOB | bytes |
|
NUMC ACCP |
n |
숫자 텍스트 | string |
|
바이트 | ||||
RAW LRAW |
x |
바이너리 데이터 | bytes |
|
RAWSTRING | xstring |
바이트 문자열 BLOB | bytes |
|
날짜/시간 | ||||
DATS | d |
날짜 | date |
|
TIMS | t |
시간 | time |
|
TIMESTAMP | utcl |
타임스탬프 Utclong |
timestamp |
유효성 검사
검증 또는 스키마 가져오기를 클릭합니다.
플러그인은 속성의 유효성을 검사하고 SAP의 메타데이터를 기반으로 스키마를 생성합니다. SAP 데이터 유형을 해당 Cloud Data Fusion 데이터 유형에 자동으로 매핑합니다.
데이터 파이프라인 실행
- 파이프라인을 배포한 후 구성을 클릭합니다.
- 리소스를 선택합니다.
- 필요한 경우 파이프라인에 사용되는 전체 데이터 크기와 변환 수를 기반으로 실행자 CPU와 메모리를 변경합니다.
- 저장을 클릭합니다.
- 데이터 파이프라인을 시작하려면 실행을 클릭합니다.
성능 최적화
플러그인 구성 최적화
파이프라인 실행 시 최적의 성능을 위해 다음 속성을 사용합니다.
Cloud Data Fusion 플러그인 속성의 생성할 분할 수 Cloud Data Fusion 측에서 동시 로드를 직접 제어합니다. 런타임 엔진은 테이블 레코드를 추출하는 동안 지정된 수의 파티션(및 SAP 연결)을 만듭니다.
8
과16
사이의 값을 사용하는 것이 좋지만 SAP의 작업 프로세스에 적합한 메모리 리소스를 할당하여 SAP 측에서 적절한 구성으로 최대32
또는64
까지 늘릴 수 있습니다.값이
0
이거나 비워 두면(권장됨) 시스템에서 사용 가능한 SAP 작업 프로세스 수, 추출할 레코드, 패키지 크기를 기준으로 적절한 값을 자동으로 선택합니다.BW 데이터 전송 프로세스 속성의 패키지 크기: 개별 데이터 패키지에 있는 데이터 레코드 수를 제어합니다. 기본값은
50,000
입니다. 이 값을 늘리면 성능이 향상되지만 리소스 부하도 커집니다. 이미 높은 값을 사용하고 있으면 추출 동시 로드가 향상되도록 값을 줄입니다.
Cloud Data Fusion 리소스 설정
권장: 실행자당 1개의 CPU와 4GB 메모리를 사용합니다. 이 값은 각 실행자 프로세스에 적용됩니다. 구성 > 리소스 대화상자에서 해당 값을 설정합니다.
Dataproc 클러스터 설정
권장: 작업자 간에 총 CPU를 원래 분할 수보다 많이 할당합니다. 플러그인 구성을 참조하세요.
예를 들어 분할이 16개 있는 경우 모든 작업자에 걸쳐 총 20개 이상의 CPU를 정의합니다(즉, 4 개의 CPU 오버헤드를 조정에 사용함).
권장: 영구 Dataproc 클러스터를 사용하여 데이터 파이프라인 런타임을 줄입니다. 이렇게 하면 몇 분 이상 걸릴 수 있는 프로비저닝 단계가 제거됩니다. Compute Engine 구성 섹션에서 이를 설정합니다.
지원 세부정보
지원되는 SAP 제품 및 버전
지원되는 소스는 다음과 같습니다.
- SAP NW BW 7.5 이상
- SAP BW4HANA 2.0 SP9(Open Hub 대상 API를 포함합니다. 이전 버전의 BW4HANA는 Open Hub 대상 API를 지원하지 않습니다.)
SAP 부하 분산(메시지 서버) 연결 지원
SAP 부하 분산(메시지 서버) 연결은 RFC 서버가 사용되지 않는 Open Hub 대상 기반 추출에 지원됩니다.
SAP 부하 분산(메시지 서버) 연결은 프로세스 체인 기반 추출에 지원되지 않습니다. 그 이유는 클라이언트 시스템에 data ready
알림을 제공할 때의 SAP 제한 때문입니다. 이로 인해 BW 환경에서 각 SAP 서버에 RFC 서버(플러그인 리스너)를 등록해야 하고, 그 결과 커넥터의 설치 공간이 늘어나고, 잠재적으로 SAP 성능 및 리소스 사용에 영향을 줍니다. 자세한 내용은 SAP Note 2572564를 참조하세요(확인하려면 SAP 지원 로그인 필요).
지원되는 SAP 배포 모델
플러그인은 Google Cloud에 배포된 SAP 서버로 테스트되었습니다.
지원되는 SAP 객체
Open Hub 대상의 데이터 소스: InfoProviders(InfoObject, InfoCube, DataStore 객체, 고급 데이터 스토어 객체, 복합 공급자)
데이터 전송 프로세스를 Open Hub 대상에 자동으로 실행하는 프로세스 체인
Oracle HTTP 서버를 사용하여 SAP에서 데이터를 추출하는 별도의 라이선스
SAP에서 데이터를 추출하기 위해 Oracle HTTP Server(OHS)를 사용할 때는 개별 라이선스가 필요하지 않습니다. 그러나 특정 계약 및 사용 사례에 따라 SAP 담당자에게 문의하세요.
예상 플러그인 처리량
성능 최적화의 가이드라인에 따라 구성된 환경의 경우 플러그인은 시간당 약 38GB를 추출할 수 있습니다. 실제 성능은 Cloud Data Fusion 및 SAP 시스템 로드 또는 네트워크 트래픽에 따라 달라질 수 있습니다.
다음 단계
- Cloud Data Fusion 자세히 알아보기
- Google Cloud 기반 SAP 자세히 알아보기