Salesforce 数据导入连接器常见问题解答

本页解答了有关 Databricks Lakeflow Connect 中 Salesforce 引入连接器的常见问题。

常见托管连接器问题解答

托管连接器常见问题解答中的解答适用于 Lakeflow Connect 中的所有托管连接器。 继续阅读特定于 Salesforce 的常见问题解答。

Salesforce 引入连接器支持哪些 Salesforce 产品?

Lakeflow Connect 支持从下表中的 Salesforce 产品引入数据。 作为引入的替代方法,Databricks 在湖仓联合中提供零复制连接器,用于查询 Salesforce 数据云中的数据:文件共享查询联合

Salesforce 产品 Lakeflow Connect 支持 备用选项
汽车云 是的
B2B 商务 是的
B2C 商业云 数据云
数据云 是的
Digital Engagement 是的
教育云 是的
能源和公用事业云 是的
体验云 是的
反馈管理 是的
现场服务 是的
健康云 是的
生命科学云 是的
闪电平台 是的
忠诚度云 是的
媒体云 是的
制造云 是的
营销云 数据云
Net Zero Cloud 是的
非盈利云 是的
订单管理 是的
平台(标准和自定义对象) 是的
公共部门解决方案 是的
回扣管理 是的
零售和消费品云 是的
收入云 是的
销售云 是的
Salesforce地图 是的
Salesforce 计划程序 是的
服务云 是的

我应使用哪个 Salesforce 连接器?

Databricks 为 Salesforce 提供了多个连接器。 有两个零复制连接器:Salesforce Data Cloud 文件共享连接器和 Salesforce Data Cloud 查询联合连接器。 通过它们,可以在 Salesforce Data Cloud 中查询数据,而无需移动数据。 还有一个 Salesforce 引入连接器,用于从各种 Salesforce 产品(包括 Salesforce Data Cloud 和 Salesforce Sales Cloud)复制数据。

下表总结了 Databricks 中 Salesforce 连接器之间的差异:

连接器 用例 支持的 Salesforce 产品
Salesforce Data Cloud 文件共享 在 Lakehouse Federation 中使用 Salesforce Data Cloud 文件共享连接器时,Databricks 会调用 Salesforce Data-as-Service (DaaS) API 来直接读取基础云对象存储位置中的数据。 查询在 Databricks 计算上运行,而无需使用 JDBC 协议。
与查询联合相比,文件共享非常适合联合大量数据。 它提高了从多个数据源读取文件的性能,以及更好的下推功能。 请参阅 Lakehouse Federation for Salesforce Data Cloud File Sharing
Salesforce 数据云
Salesforce Data Cloud 查询联合身份验证 在 Lakehouse Federation 中使用 Salesforce Data Cloud 查询联合连接器时,Databricks 使用 JDBC 连接到源数据并将查询向下推送到 Salesforce。 请参阅 在 Salesforce Data Cloud 上运行联合查询 Salesforce 数据云
Salesforce 数据导入 使用 Lakeflow Connect 中的 Salesforce 引入连接器,可以从 Salesforce Platform 数据(包括 Salesforce Data Cloud 和 Salesforce Sales Cloud 中的数据)创建完全托管的引入管道。 此连接器不仅利用 CDP 数据,而且还利用数据智能平台中的 CRM 数据来最大化价值。 请参阅从 Salesforce 引入数据 Salesforce Data Cloud、Salesforce Sales Cloud 等。 有关受支持的 Salesforce 产品的综合列表,请参阅此页上 Salesforce 引入连接器支持的常见问题解答。

引入连接器使用的 Salesforce API 是什么?

连接器同时使用 Salesforce Bulk API 2.0 和 Salesforce REST API v63。 对于每次管道更新,连接器会根据其需要摄取的数据量来选择 API。 目标是限制 Salesforce API 上的负载。 对于大量数据(例如,典型对象的初始加载或非常活跃的对象的增量加载),连接器通常使用批量 API。 对于较小的数据量(例如,典型对象的增量加载或非常小对象的初始加载),连接器通常使用 REST API。

Databricks 如何连接到 Salesforce?

Databricks 使用 HTTPS 连接到 Salesforce API。 凭据安全地存储在 Unity 目录中,仅当运行引入流的用户具有适当的权限时才能检索凭据。 可以选择在 Salesforce 中创建单独的用户来引入数据。 如果想要限制访问的特定对象或列,则可以使用内置的 Salesforce 权限来确保引入用户无权访问这些实体。

可以在一个管道中引入多少个 Salesforce 对象?

Databricks 建议将一个 Salesforce 管道限制为 250 个表。 如果需要引入更多对象,请创建多个管道。

每个对象的属性数量是否有限制?

否。

连接器如何以增量方式拉取更新?

连接器按首选项顺序从以下列表中选择游标列: SystemModstampLastModifiedDateCreatedDateLoginTime。 例如,如果 SystemModstamp 不可用,则查找 LastModifiedDate。 不能以增量方式引入没有这些列的对象。 无法以增量方式引入公式字段。

为什么更新数与行数匹配,即使在增量管道运行时也是如此?

在每次管道更新期间,连接器会完全下载公式字段。 并行,它以增量方式读取非公式字段。 最后,它将它们合并到一个表中。

连接器如何处理重试?

连接器在出现故障时会自动重试,并使用指数退避策略。 它等待 1 秒,然后重试,然后重试 2 秒,然后等待 4 秒,依此等。 最终,它会在管道的下一次运行之前停止重试。 可以在管道使用情况日志中监视此活动,并且可以为致命故障设置通知。

连接器如何处理 Delta 不兼容的数据类型?

Lakeflow Connect 会自动将 Salesforce 数据类型转换为与 Delta 兼容的数据类型。 请参阅 Salesforce 引入连接器参考

连接器是否支持实时引入?

否。 如果你对此功能感兴趣,请联系你的帐户团队。

连接器如何处理软删除?

软删除的处理方式与插入和更新的方式相同。

如果表已关闭历史记录跟踪:当某一行在 Salesforce 中被软删除时,该行将在下次数据同步时从 Bronze 表中删除。 例如,假设你有一个每小时运行的管道。 如果在下午12:00同步,随后在下午12:30有一条记录被删除,那么删除情况要到下午1:00进行同步时才会反映出来。

如果表已启用历史记录跟踪:连接器通过填充__END_AT列将原始行标记为非活动状态。

存在一个极端情况:如果在管道的下一次更新之前,记录被删除并从 Salesforce 的回收站中彻底清除。 在这种情况下,Databricks 忽略了删除操作,您必须重新完全刷新目标数据表以反映这些更改。

请注意,某些 Salesforce 对象(如历史记录对象)不支持软删除。

连接器如何处理硬删除?

不支持自动处理硬删除;必须完全刷新目标表以反映硬删除。