Salesforce 转移作业简介
您可以使用适用于 Salesforce 的 BigQuery Data Transfer Service 连接器将数据从 Salesforce Sales Cloud 加载到 BigQuery。借助 BigQuery Data Transfer Service,您可以安排周期性转移作业,以将 Salesforce Sales Cloud 中的最新数据添加到 BigQuery。
如需了解如何安排 Salesforce 转移作业,请参阅 将 Salesforce 数据加载到 BigQuery。
数据注入选项
以下部分详细介绍了设置 Salesforce 数据转移作业时可用的数据注入选项。
完整转移或增量转移
在设置 Salesforce 转移作业时,您可以在转移作业 配置中选择 完整 或 增量 写入偏好设置,以指定数据加载到 BigQuery 的方式 。
您可以配置 完整 数据转移作业,以便在每次数据转移时转移 Salesforce 数据集中的所有数据。或者,您可以配置 增量 数据转移作业 以便仅转移自上次数据转移以来发生更改的数据,而不是 在每次数据转移时加载整个数据集。如果您为数据转移选择增量 ,则必须指定附加 或 upsert 写入模式,以定义在增量数据转移期间如何将数据写入 BigQuery。以下各部分介绍了可用的写入模式。
附加写入模式
附加写入模式只会向目标表中插入新行。此选项会严格附加转移的数据,而不检查是否存在现有记录,因此这种模式可能会导致目标表中的数据重复。
选择附加模式时,您必须选择水位线列。Salesforce 连接器需要一个水位线列来跟踪源表中的更改。
选择仅在创建记录时更新的列,且该列不会随后续更新而变化。 例如,CreatedDate 列。
Upsert 写入模式
upsert 写入模式会通过检查主键来更新目标表中的行或在其中插入新行。您可以指定主键,以便 Salesforce 连接器确定需要进行哪些更改才能使目标表与源表保持同步。如果在数据转移期间,指定的主键存在于目标 BigQuery 表中,则 Salesforce 连接器会使用源表中的新数据更新该行。如果在数据转移期间不存在主键,则 Salesforce 连接器会插入新行。
选择 upsert 模式时,您必须选择水位线列和主键:
Salesforce 连接器需要一个水位线列来跟踪源表中的更改。
选择一个每次修改行时都会更新的水位线列。我们建议使用
SystemModstamp或LastModifiedDate列。
主键可以是表中的一列或多列,Salesforce 连接器需要使用这些列来确定是否需要插入或更新行。
选择包含非 null 值且在表的所有行中都唯一的列。我们建议使用包含系统生成的标识符、唯一参考代码(例如自动递增的 ID)或不可变、基于时间的序列 ID 的列。
为防止潜在的数据丢失或数据损坏,您选择的主键列必须具有唯一值。如果您对所选主键列的唯一性有疑问,建议您改用附加写入模式。
增量注入行为
当您更改数据源中的表架构时,这些表中的增量数据转移作业会以以下方式反映在 BigQuery 中:
| 数据源更改 | 增量注入行为 |
|---|---|
| 添加新列 | 系统会在目标 BigQuery 表中添加新列。 此列的所有先前记录都将具有 null 值。 |
| 删除列 | 已删除的列仍保留在目标 BigQuery 表中。此已删除列的新条目将填充 null 值。 |
| 更改列中的数据类型 | 连接器仅支持
ALTER COLUMN DDL 语句支持的数据类型转换。
任何其他数据类型转换都会导致数据转移失败。
如果您遇到任何问题,建议您创建新的转移 作业配置。 |
| 重命名列 | 原始列将按原样保留在目标 BigQuery 表中,同时系统会在目标表中添加一个具有更新名称的新列。 |
数据类型映射
下表将 Salesforce 数据类型映射到相应的 BigQuery 数据类型:
| Salesforce 数据类型 | BigQuery 数据类型 |
|---|---|
_bool |
BOOLEAN |
_int |
INTEGER |
_long |
INTEGER |
_double |
FLOAT |
currency |
FLOAT |
percent |
FLOAT |
geolocation (latitude) |
FLOAT |
geolocation (longitude) |
FLOAT |
date |
DATE |
datetime |
TIMESTAMP |
time |
TIME |
picklist |
STRING |
multipicklist |
STRING |
combobox |
STRING |
reference |
STRING |
base64 |
STRING |
textarea |
STRING |
phone |
STRING |
id |
STRING |
url |
STRING |
email |
STRING |
encryptedstring |
STRING |
datacategorygroupreference |
STRING |
location |
STRING |
address |
STRING |
anyType |
STRING |
价格
如需了解 Salesforce 转移作业相关的价格信息,请参阅 Data Transfer Service 价格。
后续步骤
- 了解如何安排 Salesforce 转移作业。
- 详细了解 BigQuery Data Transfer Service。