이 페이지에서는 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 자세히 알아보기