SAP ODP 플러그인은 Cloud Data Fusion을 사용하여 BigQuery 또는 기타 지원되는 대상 시스템을 포함하는 SAP 애플리케이션에서 일괄 데이터 통합을 지원합니다. 이 플러그인의 주요 기능은 다음과 같습니다.
- SAP ECC, SAP S4/HANA 또는 SAP BW를 소스 시스템으로 사용
- SAP CDC(변경 데이터 캡처)를 사용하여 데이터 소스에서 신규 및 델타 데이터를 추적하고 추출함
- 일괄 추출 모드 사용
- SAP DataSources 및 ABAP CDS 뷰를 데이터 소스로 지원
지원되는 소프트웨어 버전
소프트웨어 | 버전 |
---|---|
SAP S4/HANA | SAP S4/HANA 1909 이상 |
SAP ECC | SAP ERP6 NW 7.31 SP16 이상 |
SAP JCo | SAP JCo 버전 3.0.20 이상 |
Cloud Data Fusion | 6.3 이상 |
Google Cloud 기반 SAP에 대한 자세한 내용은 Google Cloud 기반 SAP 개요를 참조하세요.
시작하기 전에
SAP ODP 플러그인에서 사용하는 다음 시스템과 서비스를 설정합니다.
- SAP ERP 시스템 구성.
이 프로세스에는 다음 단계가 포함됩니다.
- SAP 전송 파일을 설치합니다.
- 필요한 SAP 승인과 역할을 설정합니다.
- SAP Java 커넥터를 설정합니다.
Cloud Data Fusion에 ODP 플러그인 배포
- 중요: Cloud Data Fusion 버전과 호환되는 플러그인 버전을 선택하세요.
- Cloud Data Fusion 인스턴스나 플러그인의 버전을 업그레이드하면 변경사항이 파이프라인의 기능 범위와 성능에 미치는 영향을 평가합니다.
Cloud Data Fusion과 SAP 사이에 RFC 연결 설정
- Cloud Data Fusion 인스턴스와 SAP 서버 간에 통신이 사용 설정되어 있는지 확인합니다.
- 비공개 인스턴스의 경우 VPC 네트워크 피어링을 설정합니다.
- SAP 시스템과 Cloud Data Fusion 인스턴스 모두 같은 프로젝트에 있어야 합니다.
플러그인 구성
- Cloud Data Fusion 웹 인터페이스로 이동하고 Studio를 클릭하세요.
- 데이터 파이프라인 - 배치가 선택되었는지 확인합니다(실시간 아님).
- 소스 메뉴에서 SapODP를 클릭합니다. SAP ODP 노드가 파이프라인에 표시됩니다.
- 소스를 구성하려면 SAP ODP 노드로 이동하고 속성을 클릭합니다.
다음 속성을 입력합니다. 전체 목록은 속성을 참조하세요.
- SAP ODP 노드의 라벨을 입력합니다(예:
SAP ODP tables
). 다음 연결 세부정보를 입력합니다. 새 일회성 연결 또는 재사용 가능한 기존 연결을 설정할 수 있습니다.
새로운 연결
SAP에 일회성 연결을 추가하려면 다음 단계를 수행합니다.
- 연결 사용을 사용 중지합니다.
연결 섹션의 필드에 SAP 계정의 다음 정보를 입력합니다.
- 참조 이름 필드에 이 계보 소스를 식별하는 연결의 이름을 입력합니다.
- SAP 클라이언트 필드에 SAP에 있는 특정 인스턴스나 환경의 클라이언트 이름을 입력합니다. SAP 관리자가 클라이언트 이름을 제공할 수 있습니다.
- SAP 언어 필드에 SAP 로그온 언어를 입력합니다. 기본값은 EN(영어)입니다.
다음 연결 유형 중 하나를 선택합니다.
- 직접(SAP 애플리케이션 서버 사용). 이 기본 유형을 선택하는 경우 SAP 애플리케이션 서버 호스트, SAP 시스템 번호, SAP 라우터 필드에 정보를 입력합니다.
- 부하 분산(SAP 메시지 서버 사용) 이 유형을 선택하는 경우 SAP 메시지 서버 호스트, SAP 메시지 서버 서비스 또는 포트 번호, SAP 시스템 ID(SID), SAP 로그온 그룹 이름에 정보를 입력합니다.
컨텍스트 필드에서 사용 중인 데이터 소스 유형을 선택합니다.
SAP ODP 소스 이름 필드에 사용 중인 데이터 소스의 이름을 입력합니다.
추출 유형 필드에서 데이터 추출 유형을 선택합니다. 기본값은 전체(모든 데이터)입니다.
SAP 사용자 인증 정보 제공: SAP 관리자에게 SAP 로그온 사용자 이름과 비밀번호를 요청합니다.
JCo 라이브러리 Cloud Storage 경로 필드에 업로드한 SAP JCo 라이브러리 파일이 포함된 Cloud Storage의 SAP Java 커넥터(SAP JCo) 경로를 입력합니다.
SAP 데이터 유형을 해당 Cloud Data Fusion 데이터 유형에 매핑하는 SAP의 메타데이터를 기반으로 스키마를 생성하려면 스키마 가져오기를 클릭합니다. 자세한 내용은 데이터 유형 매핑을 참조하세요.
(선택사항) SAP의 수집 부하를 최적화하려면 다음 필드에 정보를 입력합니다.
- SAP ODP 구독자 이름 필드에서 유효한 DataSource에서 데이터를 추출할 구독자를 식별합니다.
- 필터 옵션을 사용하면 선택 조건을 기준으로 레코드를 추출할 수 있습니다.
- 분할 수 필드에서 데이터 레코드를 동시에 추출할 파티션을 만들 수 있습니다. 이렇게 하면 성능이 향상됩니다. 분할 수는 SAP 작업 프로세스에 영향을 미칠 수 있으므로 신중하게 분할 수를 선택해야 합니다.
- 패키지 크기 필드에 단일 SAP 네트워크 호출에서 추출할 레코드 수를 지정합니다. 패키지 크기는 성능과 사용할 수 있는 리소스에 영향을 미치므로 신중하게 패키지 크기를 선택해야 합니다.
재사용 가능한 연결
기존 연결을 재사용하려면 다음 단계를 수행합니다.
- 연결 사용을 사용 설정합니다.
- 연결 찾아보기를 클릭합니다.
연결 이름을 클릭합니다.
연결이 없는 경우 재사용 가능한 연결을 만들려면 다음 단계를 수행합니다.
- 연결 추가 > SapOdp를 클릭합니다.
- SapOdp 연결 만들기 페이지가 열리면 연결 이름과 설명을 입력합니다.
- SAP 클라이언트 필드에 SAP의 특정 인스턴스나 환경의 클라이언트 이름을 입력합니다. SAP 관리자가 클라이언트 이름을 제공할 수 있습니다.
- SAP 언어 필드에 SAP 로그온 언어를 입력합니다. 기본값은 EN(영어)입니다.
다음 연결 유형 중 하나를 선택합니다.
- 직접(SAP 애플리케이션 서버 사용). 이 기본 유형을 선택하는 경우 SAP 애플리케이션 서버 호스트, SAP 시스템 번호, SAP 라우터 필드에 정보를 입력합니다.
- 부하 분산(SAP 메시지 서버 사용) 이 유형을 선택하는 경우 SAP 메시지 서버 호스트, SAP 메시지 서버 서비스 또는 포트 번호, SAP 시스템 ID(SID), SAP 로그온 그룹 이름에 정보를 입력합니다.
SAP ODP 소스 이름에 SAP의 ODP DataSource 이름을 입력합니다.
SAP 사용자 인증 정보 제공: SAP 관리자에게 SAP 로그온 사용자 이름과 비밀번호를 요청합니다.
JCo 라이브러리 Cloud Storage 경로 필드에 업로드한 SAP JCo 라이브러리 파일이 포함된 Cloud Storage의 SAP Java 커넥터(SAP JCo) 경로를 입력합니다.
대기 시간 필드에 다음 번 재시도 전에 대기할 시간을 초 단위로 입력합니다(예:
60
).재시도 횟수 필드에 최대 재시도 횟수를 입력합니다(예:
3
).(선택사항) 추가 SAP 연결 속성 필드에 SAP JCo 기본값을 재정의해야 하는 키-값 쌍을 입력합니다.
만들기를 클릭합니다.
- SAP ODP 노드의 라벨을 입력합니다(예:
속성
속성 | 매크로 사용 설정 | 필수 속성 | 설명 |
---|---|---|---|
라벨 | 아니요 | 예 | 데이터 파이프라인의 노드 이름입니다. |
연결 사용 | 아니요 | 아니요 | 재사용 가능한 연결을 사용합니다. 연결이 사용되면 사용자 인증 정보를 제공할 필요가 없습니다. 자세한 내용은 연결 관리를 참조하세요. |
이름 | 아니요 | 예 | 재사용 가능한 연결의 이름입니다. |
SAP 클라이언트 | 예 | 예 | SAP 시스템의 특정 인스턴스나 환경입니다. |
SAP 언어 | 예 | 예 | SAP 사용자 인터페이스와 데이터가 표시되고 처리되는 언어입니다. |
연결 유형 | 아니요 | 예 | SAP 연결 유형: 직접 또는 부하 분산. |
SAP 애플리케이션 서버 호스트 | 예 | 아니요 | 직접 연결 유형 한정으로, 이 호스트 이름은 SAP 클라이언트(예: SAP 웹 인터페이스, 웹브라우저 또는 모바일 앱)와 기본 데이터베이스 사이의 미들웨어 레이어로 작용하는 SAP 애플리케이션 서버에서 옵니다. |
SAP 시스템 번호 | 예 | 아니요 | 직접 연결 유형의 경우에만 이 번호는 각 SAP 시스템에 할당된 고유 식별자입니다. 예를 들면,
00 입니다. |
SAP 라우터 | 예 | 아니요 | 직접 연결 유형의 경우에만 SAP 시스템과 외부 클라이언트 또는 파트너 간의 통신에 사용되는 보안 채널을 제공하는 프록시 서버의 라우터 문자열입니다. |
SAP 메시지 서버 호스트 | 예 | 아니요 | 부하 분산 연결 유형의 경우에만 SAP의 여러 애플리케이션 서버 간에 부하를 용이하게 분산할 수 있게 해주는 호스트의 이름입니다. |
SAP 메시지 서버 서비스 또는 포트 번호 | 예 | 아니요 | 부하 분산 연결 유형의 경우에만 SAP 메시지 서버가 SAP 내 SAP 클라이언트와 애플리케이션 서버의 수신 연결을 리슨하는 네트워크 포트입니다. |
SAP 시스템 ID(SID) | 예 | 아니요 | 부하 분산 연결 유형의 경우에만 이 ID가 각 SAP 시스템에 할당됩니다. |
SAP 로그온 그룹 이름 | 예 | 아니요 | 여러 SAP 애플리케이션 서버의 논리적 그룹 또는 구성의 이름입니다. 기본값은 PUBLIC 입니다. |
객체 유형 | 해당 사항 없음 | 해당 사항 없음 | 지원되는 객체 유형: DataSources/Extractors 또는 ABAP Core Data Services |
SAP ODP 소스 이름 | 예 | 예 | SAP DataSource 또는 CDS 뷰 이름입니다(예: 2LIS_02_ITM ). |
추출 유형 | 예 | 예 | 플러그인은 다음 두 가지 유형의 데이터 추출을 지원합니다.
|
SAP 로그온 사용자 이름 | 예 | 예 | SAP 사용자 이름 권장: 사용자 이름이 주기적으로 변경되는 경우에는 매크로를 사용합니다. |
SAP 로그온 비밀번호 | 예 | 예 | SAP 비밀번호입니다. 권장: 보안 매크로를 사용합니다. |
GCP 프로젝트 ID | 예 | 예 | Google Cloud 프로젝트 ID입니다. |
SAP JCo 라이브러리 GCS 경로 | 예 | 예 | SAP JCo 라이브러리 파일을 업로드한 Cloud Storage의 경로입니다. |
스키마 가져오기 | 해당 사항 없음 | 해당 사항 없음 | 플러그인은 SAP의 메타데이터를 기반으로 SAP 데이터 유형을 해당 Cloud Data Fusion 데이터 유형에 매핑하는 스키마를 생성합니다. 데이터 유형 매핑을 참조하세요. |
SAP ODP 구독자 이름 | 예 | 예 | 유효한 SAP DataSource 또는 CDS 뷰에서 데이터를 추출하기 위한 ODP 구독자입니다. 다음을 포함해야 합니다.
|
대기 시간 | 예 | 아니요 | 데이터 엔지니어는 이 속성으로 Cloud Data Fusion에서 SAP로의 각 네트워크 호출 후에 적절한 대기 시간을 선택할 수 있습니다. |
재시도 횟수 | 예 | 아니요 | 네트워크 호출이 완료될 때까지 대기하는 동안 재시도할 횟수입니다. |
필터 옵션(같음) | 예 | 아니요 | 필드를 읽어야 하는 값입니다. 필터 옵션은 메타데이터 필드 이름과 값 쌍의 목록입니다. SAP DataSource에서 데이터를 읽을 때 적용할 필터 조건을 정의합니다. 조건을 충족하는 레코드만 추출됩니다. 필터 키는 스키마의 필드에 해당합니다. 단순한 유형 ( ARRAY , RECORD 또는 UNION 아님)이어야 합니다. 사용 예시:필드 이름: MTART 값: FERT |
필터 옵션(범위) | 예 | 아니요 | 필드를 읽어야 하는 값의 하한 및 상한입니다. 필터 옵션은 메타데이터 필드 이름과 값 쌍의 목록입니다. SAP DataSource에서 데이터를 읽을 때 적용할 필터 조건을 정의합니다. 조건을 충족하는 레코드만 추출됩니다. 필터 키는 스키마의 필드에 해당합니다. 낮음 및 높음 형식입니다. 사용 예시: 필드 이름: ERDAT 낮은 값: 2023-11-01 높은 값: 2023-11-30 |
필터 옵션(같지 않음) | 예 | 아니요 | 필드가 이 값보다 작거나 같아야 합니다. 필터 옵션은 메타데이터 필드 이름과 값 쌍의 목록입니다. SAP DataSource에서 데이터를 읽을 때 적용할 필터 조건을 정의합니다. 조건을 충족하는 레코드만 추출됩니다. 필터 키는 스키마의 필드에 해당합니다. 단순한 유형 ( ARRAY , RECORD 또는 UNION 아님)이어야 합니다. 사용 예시:필드 이름: MATNR 값: 10008 |
필터 옵션(초과) | 예 | 아니요 | 읽기 위해서는 필드가 이 값보다 커야 합니다. 필터 옵션은 메타데이터 필드 이름과 값 쌍의 목록입니다. SAP DataSource에서 데이터를 읽을 때 적용할 필터 조건을 정의합니다. 조건을 충족하는 레코드만 추출됩니다. 필터 키는 스키마의 필드에 해당합니다. 단순한 유형 ( ARRAY , RECORD 또는 UNION 아님)이어야 합니다. 사용 예시:필드 이름: MATNR 값: 10008 |
필터 옵션(같지 않음) | 예 | 아니요 | 읽기 위해서는 필드가 이 값과 같지 않아야 합니다. 필터 옵션은 메타데이터 필드 이름과 값 쌍의 목록입니다. SAP DataSource에서 데이터를 읽을 때 적용할 필터 조건을 정의합니다. 조건을 충족하는 레코드만 추출됩니다. 필터 키는 스키마의 필드에 해당합니다. 단순한 유형 ( ARRAY , RECORD 또는 UNION 아님)이어야 합니다. 사용 예시:필드 이름: MTART 값: FERT |
생성할 분할 수 | 예 | 아니요 | 병렬로 레코드를 추출할 파티션을 만듭니다. 런타임 엔진은 레코드를 추출하는 동안 지정된 수의 파티션(및 SAP 연결)을 만듭니다. 이 값을 늘리면 SAP와의 동시 연결 수가 증가하므로 주의하세요. 권장: 각 파이프라인에 대한 SAP 연결 및 동시에 실행되는 총 파이프라인 수를 계획하세요. 값이 0이거나 비어 있으면 Cloud Data Fusion에서 사용 가능한 실행자 수, 추출할 레코드 수, 패키지 크기를 기준으로 적절한 값을 선택합니다. |
패키지 크기(KB) | 예 | 아니요 | 단일 SAP 네트워크 호출에서 추출할 레코드 수입니다. 네트워크 추출이 호출될 때마다 SAP가 메모리에 버퍼링하는 레코드 수입니다. 이 속성을 설정할 때는 주의하세요. 데이터를 추출하는 데이터 파이프라인이 여러 개 있으면 메모리 사용량이 최고치에 다다를 수 있으며 Out of memory 오류로 인해 실패할 수 있습니다.
|
추가 SAP 연결 속성 | 예 | 아니요 | 추가적인 SAP JCo 속성을 설정하여 SAP JCo 기본값을 재정의합니다.
예를 들어 jco.destination.pool_capacity = 10 을 설정하면 기본 연결 풀 용량이 재정의됩니다. |
데이터 유형 매핑
다음 표에는 SAP 데이터 유형과 이에 해당하는 Cloud Data Fusion 유형이 나와 있습니다.
SAP 데이터 유형 | ABAP 유형 | SAP 설명 | Cloud Data Fusion 데이터 유형 |
---|---|---|---|
INT1 (숫자) |
b | 1바이트 정수 | int |
INT2 (숫자) |
s | 2바이트 정수 | int |
INT4 (숫자) |
i | 4바이트 정수 | int |
INT8 (숫자) |
8 | 8바이트 정수 | long |
DEC (숫자) |
p | BCD 형식의 압축 번호(DEC) | 십진수 |
DF16_DEC , DF16_RAW (숫자) |
a | 10진 부동 소수점 8바이트 IEEE 754r | double |
DF34_DEC , DF34_RAW (숫자) |
e | 10진 부동 소수점 16바이트 IEEE 754r | double |
FLTP (숫자) |
f | 바이너리 부동 소수점 수 | double |
CHAR , LCHR (문자) |
c | 문자열 | 문자열 |
SSTRING , GEOM_EWKB (문자) |
문자열 | 문자열 | 문자열 |
STRING (문자) |
문자열 | 문자열 CLOB | 바이트 |
NUMC , ACCP (문자) |
n | 숫자 텍스트 | 문자열 |
RAW , LRAW (바이트) |
x | 바이너리 데이터 | 바이트 |
RAWSTRING (바이트) |
xstring | 바이트 문자열 BLOB | 바이트 |
DATS (날짜/시간) |
d | 날짜 | 날짜 |
TIMS (날짜/시간) |
t | 시간 | 시간 |
TIMS (날짜/시간) |
utcl | Utclong), TimeStamp | timestamp |
제한사항
파이프라인이 올바르게 정의되고 실행되도록 하려면 다음 플러그인 제한사항을 검토하세요.
- 패키지 크기가 5만을 초과하면 지원되지 않습니다.
- 델타 추출을 지원하지 않는 데이터 소스는 동기화 모드에서 실패합니다.
- 커스텀 데이터 소스에서 패키지 크기가 처리되지 않으면 대규모 데이터 추출 시 파이프라인이 실패합니다.
사용 사례
두 가지 추출 컨텍스트가 지원됩니다.
- DataSource 또는 추출기(SAPI)
- ODP 컨텍스트 ABAP CDS(ABAP_CDS)
ODP 플러그인은 두 컨텍스트 모두에서 다음과 같은 표준 및 커스텀 데이터 소스를 지원합니다.
ODP 데이터 소스 | 컨텍스트 | 전체 추출 | 델타 추출 |
---|---|---|---|
사전 제공된 SAP 표준 | SAPI | 지원됨 | 지원됨 |
커스텀(Z*) | SAPI | 지원됨 | 지원됨 |
사전 제공된 SAP 표준 | ABAP_CDS | 지원됨 | 지원됨 |
커스텀(Z*) | ABAP_CDS | 지원됨 | 지원됨 |
다음 단계
- Cloud Data Fusion 자세히 알아보기
- Google Cloud 기반 SAP 자세히 알아보기