이 페이지에서는 Cloud Data Fusion을 사용하여 SAP SuccessFactors Employee Central 모듈 내의 모든 항목에서 데이터를Google Cloud 로 추출하는 방법을 설명합니다.
자세한 내용은 Google Cloud의 SAP 개요를 참고하세요.
시작하기 전에
SAP SuccessFactors 플러그인에서 사용하는 다음 시스템과 서비스를 설정합니다.
- SAP SuccessFactors 시스템 구성 SAP 시스템에서 권한을 설정해야 합니다.
- Cloud Data Fusion에 SAP SuccessFactors 플러그인을 배포합니다. Cloud Data Fusion 버전과 호환되는 플러그인 버전을 배포해야 합니다.
- Cloud Data Fusion 인스턴스나 플러그인의 버전을 업그레이드하면 변경사항이 파이프라인의 기능 범위와 성능에 미치는 영향을 평가합니다.
- Cloud Data Fusion과 SAP SuccessFactors 간의 연결을 설정합니다.
- Cloud Data Fusion 인스턴스와 SAP SuccessFactors 인스턴스 간에 통신이 사용 설정되어 있는지 확인합니다.
- 비공개 인스턴스의 경우 VPC 네트워크 피어링을 설정합니다.
플러그인 구성
- Cloud Data Fusion 웹 인터페이스로 이동하고 Studio를 클릭하세요.
- 데이터 파이프라인 - 배치가 선택되었는지 확인합니다(실시간 아님).
- 소스 메뉴에서 SuccessFactors를 클릭합니다. SAP SuccessFactors 노드가 파이프라인에 표시됩니다.
- 소스를 구성하려면 SAP SuccessFactors 노드로 이동하고 속성을 클릭합니다.
다음 속성을 입력합니다. 전체 목록은 속성을 참조하세요.
- SAP SuccessFactorsnode의 라벨을 입력합니다(예:
SAP SuccessFactors tables
). 다음 연결 세부정보를 입력합니다. 새 일회성 연결 또는 재사용 가능한 기존 연결을 설정할 수 있습니다.
일회성 연결
SAP에 일회성 연결을 추가하려면 다음 단계를 수행합니다.
- 연결 사용을 사용 중지합니다.
연결 섹션의 필드에 SAP 계정의 다음 정보를 입력합니다.
- SAP 사용자 인증 정보를 제공합니다.
- SAP SuccessFactors 기준 URL 필드에 SAP SuccessFactors 계정의 기본 URL을 입력합니다.
- 참조 이름 필드에 이 계보 소스를 식별하는 연결의 이름을 입력합니다.
- 항목 이름 필드에 추출할 항목의 이름을 입력합니다(예:
people
). - SAP 데이터 유형을 해당 Cloud Data Fusion 데이터 유형에 매핑하는 SAP의 메타데이터를 기반으로 스키마를 생성하려면 스키마 가져오기를 클릭합니다. 자세한 내용은 데이터 유형 매핑을 참조하세요.
- 프록시 URL 필드에 프로토콜, 주소, 포트를 포함한 프록시 URL을 입력합니다.
(선택사항) SAP의 수집 부하를 최적화하려면 다음 정보를 입력합니다.
- 선택 조건을 기준으로 레코드를 추출하려면 필터 옵션 및 필드 선택을 클릭합니다.
- 필드 펼치기에서 추출된 출력 데이터에서 펼칠 탐색 필드 목록을 입력합니다. 예를 들면
customManager
입니다. - 추가 쿼리 매개변수에 URL에 추가할 매개변수(예:
fromDate=2023-01-01&toDate=2023-01-31
)를 입력합니다. - 연결된 항목 이름 필드에 추출할 항목의 이름을 입력합니다(예:
EmpCompensationCalculated
). - 페이지로 나누기 유형 필드에 유형을 입력합니다(예:
Server-side pagination
).
재사용 가능한 연결
기존 연결을 재사용하려면 다음 단계를 수행합니다.
- 연결 사용을 사용 설정합니다.
- 연결 찾아보기를 클릭합니다.
연결 이름을 클릭합니다.
연결이 없는 경우 다음 단계에 따라 재사용 가능한 연결을 만듭니다.
- 연결 추가 > SAP SuccessFactors를 클릭합니다.
- SAP SuccessFactors 연결 만들기 페이지가 열리면 연결 이름과 설명을 입력합니다.
- SAP 사용자 인증 정보를 제공합니다. SAP 관리자에게 SAP 로그온 사용자 이름과 비밀번호 값을 요청할 수 있습니다.
- 프록시 URL 필드에 프로토콜, 주소, 포트를 포함한 프록시 URL을 입력합니다.
- 만들기를 클릭합니다.
- SAP SuccessFactorsnode의 라벨을 입력합니다(예:
속성
속성 | 매크로 사용 설정 | 필수 속성 | 설명 |
---|---|---|---|
라벨 | 아니요 | 예 | 데이터 파이프라인의 노드 이름입니다. |
연결 사용 | 아니요 | 아니요 | 재사용 가능한 연결을 사용합니다. 연결이 사용되면 사용자 인증 정보를 제공할 필요가 없습니다. 자세한 내용은 연결 관리를 참조하세요. |
이름 | 아니요 | 예 | 재사용 가능한 연결의 이름입니다. |
참조 이름 | 아니요 | 예 | 계보의 소스를 고유하게 식별하고 메타데이터에 주석을 추가합니다. |
SAP SuccessFactors 기준 URL | 예 | 예 | SuccessFactors API의 기준 URL입니다. |
항목 이름 | 예 | 예 | 추출할 항목의 이름입니다. 바이너리 데이터 유형의 속성이나 대량의 데이터가 있는 항목은 지원하지 않습니다. 예를 들어 UserBadges 및 BadgeTemplates 는 지원되지 않습니다. |
SAP SuccessFactors 사용자 이름 | 예 | 예 | 인증을 위한 사용자 ID로, USER_ID@COMPANY_ID 와 유사합니다. 예를 들면 sfadmin@cymbalgroup 입니다. |
SAP SuccessFactors 비밀번호 | 예 | 예 | 사용자 인증을 위한 SAP SuccessFactors 비밀번호입니다. |
필터링 옵션 | 예 | 아니요 | 출력 데이터 볼륨을 제한하는 필터 조건입니다(예: Price gt 200 ). 지원되는 필터 옵션을 참고하세요. |
필드 선택 | 예 | 아니요 | 추출된 데이터에 보존할 필드입니다. 예를 들면 다음과 같습니다. Category , Price , Name , Address . 이 필드를 비워 두면 탐색 이외의 모든 필드가 추출된 데이터에 보존됩니다.모든 필드는 쉼표 (,)로 구분해야 합니다. |
필드 확장 | 예 | 아니요 | 추출된 출력 데이터에서 펼칠 탐색 필드 목록입니다. 예를 들면 customManager 입니다. 항목에 계층적 레코드가 있는 경우 소스는 읽은 항목의 각 행에 대한 레코드를 출력하며, 각 레코드에는 필드 펼치기에 지정된 탐색 속성의 값을 보유하는 추가 필드가 포함됩니다. |
연결된 항목 이름 | 예 | 아니요 | 추출되는 연결 항목의 이름
예를 들면 EmpCompensationCalculated 입니다. |
페이지 나누기 유형 | 예 | 예 | 사용할 페이지로 나누기 유형입니다. 서버 측 페이지로 나누기는 스냅샷 기반 페이지로 나누기를 사용합니다. 이 기능을 지원하지 않는 항목에서 스냅샷 기반 페이지로 나누기를 시도하면 서버는 쿼리에 클라이언트 오프셋 페이지 나누기를 자동으로 적용합니다. 서버 측 페이지로 나누기만 지원하는 항목의 예는 BadgeTemplates , UserBadges , EPCustomBackgroundPortlet 입니다. 이러한 항목에서 클라이언트 측 페이지로 나누기를 선택하면 -1 을 응답으로 반환하는 Count API를 사용하므로 레코드가 전송되지 않습니다.기본값은 서버 측 페이지로 나누기입니다. |
지원되는 필터 옵션
지원되는 연산자는 다음과 같습니다.
연산자 | 설명 | 예 |
---|---|---|
논리 연산자 | ||
Eq |
같음 | /EmpGlobalAssignment?$filter=assignmentClass eq 'GA' |
Ne |
같지 않음 | /RecurringDeductionItem?$filter=amount ne 18 |
Gt |
초과 | /RecurringDeductionItem?$filter=amount gt 4 |
Ge |
이상 | /RecurringDeductionItem?$filter=amount ge 18 |
Lt |
미만 | /RecurringDeductionItem?$filter=amount lt 18 |
Le |
이하 | /RecurringDeductionItem?$filter=amount le 20 |
And |
논리 및 | /RecurringDeductionItem?$filter=amount le 20 and amount gt
4 |
Or |
논리 또는 | /RecurringDeductionItem?$filter=amount le 20 or amount gt
4 |
Not |
논리적 부정 | /RecurringDeductionItem?$filter=not
endswith(payComponentType, 'SUPSPEE_US') |
산술 연산자 | ||
Add |
추가 | /RecurringDeductionItem?$filter=amount add 5 gt 18 |
Sub |
뺄셈 | /RecurringDeductionItem?$filter=amount sub 5 gt 18 |
Mul |
곱셈 | /RecurringDeductionItem?$filter=amount mul 2 gt 18 |
Div |
나눗셈 | /RecurringDeductionItem?$filter=amount div 2 gt 18 |
Mod |
Modulo | /RecurringDeductionItem?$filter=amount mod 2 eq 0 |
그룹화 연산자 | ||
( ) |
우선순위 그룹화 | /RecurringDeductionItem?$filter=(amount sub 5) gt 8 |
데이터 유형 매핑
다음 표에는 SAP 데이터 유형과 이에 해당하는 Cloud Data Fusion 유형이 나와 있습니다.
SuccessFactors 데이터 유형 | Cloud Data Fusion 스키마 데이터 유형 |
---|---|
Binary |
Bytes |
Boolean |
Boolean |
Byte |
Bytes |
DateTime |
DateTime |
DateTimeOffset |
Timestamp_Micros |
Decimal |
Decimal |
Double |
Double |
Float |
Float |
Int16 |
Integer |
Int32 |
Integer |
Int64 |
Long |
SByte |
Integer |
String |
String |
Time |
Time_Micros |
사용 사례
다음 사용 사례 예시는 EmployeePayrollRunResults
의 단일 직원에 대한 데이터입니다.
속성 예 | 예시 값 |
---|---|
externalCode | SAP_EC_PAYROLL_1000_0101201501312015_456_416 |
사용자 ID | 456 |
사용자 | user-1 |
고용 ID | 416 |
급여 제공업체 ID | SAP_EC_PAYROLL |
유효 결제 기간 시작 | 01/01/2015 |
유효 결제 기간 종료 | 01/31/2015 |
회사 ID | BestRun 독일(1,000) |
지급액 | 01/28/2015 |
통화 | EUR(EUR) |
급여 실행 유형 | 일반(REGULAR) |
시스템 ID | X0B |
다음 예는 EmployeePayrollRunResults
의 직원에 대한 결과를 보여줍니다.
EmployeePayrollRunResults_externalCod e |
EmployeePayrollRunResults_mdfSystemEffectiveStartDate |
amount |
createdBy |
createdDate |
---|---|---|---|---|
SAP_EC_PAYROLL_2800_0101201901312019_305_265 |
1/31/2019 0:00:00 |
70923.9 |
sfadmin |
12/10/2019 15:32:20 |
SAP_EC_PAYROLL_2800_0101201901312019_310_270 |
1/31/2019 0:00:00 |
64500 |
sfadmin |
12/10/2019 15:32:20 |
SAP_EC_PAYROLL_2800_0201201902282019_305_265 |
2/28/2019 0:00:00 |
70923.9 |
sfadmin |
12/10/2019 15:32:20 |
SAP_EC_PAYROLL_2800_0201201902282019_310_270 |
2/28/2019 0:00:00 |
64500 |
sfadmin |
12/10/2019 15:32:20 |
SAP_EC_PAYROLL_2800_0301201903312019_305_265 |
3/31/2019 0:00:00 |
70923.9 |
sfadmin |
12/10/2019 15:32:20 |
파이프라인 예시
다음 JSON 파일에서 샘플 구성을 참고하세요.
{ "artifact": { "name": "data-pipeline-1", "version": "DATA_FUSION_VERSION", "scope": "SYSTEM" }, "description": "", "name": "Demo_SuccessFactors_BatchSource", "config": { "resources": { "memoryMB": 2048, "virtualCores": 1 }, "driverResources": { "memoryMB": 2048, "virtualCores": 1 }, "connections": [ { "from": "SAP SuccessFactors", "to": "BigQuery" } ], "comments": [], "postActions": [], "properties": {}, "processTimingEnabled": true, "stageLoggingEnabled": false, "stages": [ { "name": "SAP SuccessFactors", "plugin": { "name": "SuccessFactors", "type": "batchsource", "label": "SAP SuccessFactors", "artifact": { "name": "successfactors-plugins", "version": "PLUGIN_VERSION", "scope": "USER" }, "properties": { "useConnection": "false", "username": "${username}", "password": "${password}", "baseURL": "${baseUrl}", "referenceName": "test", "entityName": "${EmpCompensation}", "proxyUrl": "${ProxyUrl}", "paginationType": "serverSide", "initialRetryDuration": "2", "maxRetryDuration": "300", "maxRetryCount": "3", "retryMultiplier": "2", "proxyUsername": "${Proxyusername}", "proxyPassword": "${Proxypassword}" } }, "outputSchema": [ { "name": "etlSchemaBody", "schema": "" } ], "id": "SAP-SuccessFactors" }, { "name": "BigQuery", "plugin": { "name": "BigQueryTable", "type": "batchsink", "label": "BigQuery", "artifact": { "name": "google-cloud", "version": "BIGQUERY_PLUGIN_VERSION", "scope": "SYSTEM" }, "properties": { "useConnection": "false", "project": "auto-detect", "serviceAccountType": "filePath", "serviceFilePath": "auto-detect", "referenceName": "Reff", "dataset": "SF_Aug", "table": "testdata_proxy", "operation": "insert", "truncateTable": "true", "allowSchemaRelaxation": "true", "location": "US", "createPartitionedTable": "false", "partitioningType": "TIME", "partitionFilterRequired": "false" } }, "outputSchema": [ { "name": "etlSchemaBody", "schema": "" } ], "inputSchema": [ { "name": "SAP SuccessFactors", "schema": "" } ], "id": "BigQuery" } ], "schedule": "0 1 */1 * *", "engine": "spark", "numOfRecordsPreview": 100, "rangeRecordsPreview": { "min": 1, "max": "5000" }, "description": "Data Pipeline Application", "maxConcurrentRuns": 1, "pushdownEnabled": false, "transformationPushdown": {} } }
다음 단계
- Google Cloud의 SAP에 대해 자세히 알아보세요.