本页介绍如何从 SAP SuccessFactors 员工中心模块中 Google Cloud 与 Cloud Data Fusion。
如需了解详情,请参阅在 Google Cloud 上运行 SAP 概览。
准备工作
设置 SAP 使用的以下系统和服务 SuccessFactors 插件:
- 配置 SAP SuccessFactors 系统。您必须 在 SAP 系统中设置权限。
- 在 Google Cloud 上部署 SAP SuccessFactors 插件,
Cloud Data Fusion。您必须部署与 Cloud Data Fusion 版本兼容的插件版本。
- 如果您升级 Cloud Data Fusion 实例或插件版本,请评估这些更改对流水线的功能范围和性能的影响。
- 在 Cloud Data Fusion 与 SAP 之间建立连接
SuccessFactors。
- 确保 Cloud Data Fusion 实例和 SAP SuccessFactors 实例之间启用了通信。
- 对于专用实例,请设置 VPC 网络对等互连。
配置插件
- 前往 Cloud Data Fusion 网页界面,然后点击 Studio。
- 检查是否已选择 Data Pipeline - Batch(而不是 Realtime)。
- 在来源菜单中,点击 SuccessFactors。SAP SuccessFactors 节点会显示在您的流水线中。
- 如需配置该来源,请前往 SAP SuccessFactors 节点,然后点击属性。
输入以下属性。有关完整列表,请参阅 属性。
- 输入 SAP SuccessFactorsnode 的标签
示例
SAP SuccessFactors tables
。 输入连接详细信息。您可以设置新的一次性连接,也可以设置现有的可重复使用连接。
一次性连接
如需添加到 SAP 的一次性连接,请按照以下说明操作 步骤:
- 让使用连接保持关闭状态。
在连接部分中,在以下字段中输入 SAP 账号中的以下信息:
- 提供 SAP 凭据。
- 在 SAP SuccessFactors Base 网址(SAP SuccessFactors 基准网址)字段中,输入您的 SAP SuccessFactors 账号基准网址。
- 在参考名称字段中,输入 识别此沿袭来源的连接。
- 在实体名称字段中,输入该实体的名称。
(例如
people
)。 - 根据从 SAP 映射的元数据生成架构 从 SAP 数据类型映射到相应的 Cloud Data Fusion 数据 请点击获取架构。如需了解详情,请参阅数据类型映射。
- 在代理网址字段中,输入代理网址,包括协议、地址和端口。
可选:要优化从 SAP 的注入负载,请输入 以下信息:
- 如需根据选择条件提取记录,请点击过滤条件和选择字段。
- 在展开字段中,输入要展开的导航字段列表,以便在提取的输出数据中展开。例如
customManager
。 - 在其他查询参数中,输入要添加的参数。
附加到网址,例如
fromDate=2023-01-01&toDate=2023-01-31
。 - 在关联的实体名称字段中,输入要提取的实体的名称,例如
EmpCompensationCalculated
。 - 在分页类型字段中,输入类型,例如
Server-side pagination
。
可重复使用的连接
如需重复使用现有连接,请按以下步骤操作:
- 开启使用连接。
- 点击浏览连接。
点击连接名称。
如果连接不存在,请通过以下命令创建可重复使用的连接: 按以下步骤操作:
- 点击添加连接 > SAP SuccessFactors。
- 在随即打开的创建 SAP SuccessFactors 连接页面上, 输入连接名称和说明。
- 提供 SAP 凭据。您可以向 SAP 管理员索要 SAP 登录用户名和密码值。
- 在代理网址字段中,输入代理网址,包括 包括协议、地址和端口
- 点击创建。
- 输入 SAP SuccessFactorsnode 的标签
示例
属性
属性 | 宏已启用 | 必需属性 | 说明 |
---|---|---|---|
标签 | 否 | 是 | 数据流水线中相应节点的名称。 |
使用连接 | 否 | 否 | 使用可重复使用的连接。如果使用了连接,则无需 提供凭据如需了解详情,请参阅 管理关联。 |
名称 | 否 | 是 | 可重复使用的连接的名称。 |
参考基因序列名称 | 否 | 是 | 唯一标识来源,用于沿袭和注释元数据。 |
SAP SuccessFactors 基准网址 | 是 | 是 | SuccessFactors API 的基础网址。 |
实体名称 | 是 | 是 | 要提取的实体的名称。不支持具有二进制数据类型的属性或大量数据的实体。例如,UserBadges 和
不支持 BadgeTemplates 。 |
SAP SuccessFactors 用户名 | 是 | 是 | 用于身份验证的用户 ID,类似于 USER_ID@COMPANY_ID 。例如 sfadmin@cymbalgroup 。 |
SAP SuccessFactors 密码 | 是 | 是 | 用于用户身份验证的 SAP SuccessFactors 密码。 |
“过滤”选项 | 是 | 否 | 限制输出数据量的过滤条件。
例如 Price gt 200 。请参阅
支持的过滤器选项。 |
选择字段 | 是 | 否 | 要在提取的数据中保留的字段。对于
示例:Category 、Price 、Name 、
Address 。如果此字段留空,则所有非导航字段都将保留在提取的数据中。所有字段必须用英文逗号 (,) 分隔。 |
展开字段 | 是 | 否 | 提取的输出数据中要展开的导航字段列表。例如 customManager 。如果实体具有
分层记录,则来源会为
每个记录都包含一个额外字段
包含“展开”选项中指定的导航属性的值,
字段。 |
关联实体名称 | 是 | 否 | 要提取的关联实体的名称。
例如 EmpCompensationCalculated 。 |
分页类型 | 是 | 是 | 要使用的分页类型。服务器端分页使用基于快照的分页。如果基于快照的分页
则服务器
自动对查询执行 client-offset 分页。 仅支持服务器端分页的实体示例包括 BadgeTemplates 、UserBadges 和 EPCustomBackgroundPortlet 。如果发生以下情况,则不会转移任何记录:
客户端分页是针对这些实体选择的,因为它依赖于
Count API,该 API 会返回 -1 作为响应。默认值为服务器端分页。 |
支持的过滤条件选项
支持以下运算符:
运算符 | 说明 | 示例 |
---|---|---|
逻辑运算符 | ||
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 |
取模 | /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 |
使用场景
以下示例用例是 Google Cloud 中单个员工的数据,
EmployeePayrollRunResults
:
示例媒体资源 | 示例值 |
---|---|
externalCode | SAP_EC_PAYROLL_1000_0101201501312015_456_416 |
用户 ID | 456 |
用户 | user-1 |
工作 ID | 416 |
薪资服务提供商 ID | SAP_EC_PAYROLL |
有效付款期开始时间 | 2015 年 1 月 1 日 |
有效付款期的结束 | 2015 年 1 月 31 日 |
公司 ID | BestRun Germany(1,000) |
付款 | 2015 年 1 月 28 日 |
货币 | 欧元 (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": {} } }
后续步骤
- 详细了解 SAP on Google Cloud。