先决条件
您要从中读取内容的 Salesforce sObject。您将需要 Account
、Case
或 Opportunity
等对象名称。
示例:
salesforce_read = glueContext.create_dynamic_frame.from_options(
connection_type="salesforce",
connection_options={
"connectionName": "connectionName",
"ENTITY_NAME": "Account",
"API_VERSION": "v60.0"
}
对查询进行分区
如果您想在 Spark 中利用并发,可以提供其他 Spark 选项:PARTITION_FIELD
、LOWER_BOUND
、UPPER_BOUND
和 NUM_PARTITIONS
。使用这些参数,原始查询将被拆分为 NUM_PARTITIONS
个子查询,这些子查询可以由 Spark 任务同时执行。
PARTITION_FIELD
:用于对查询进行分区的字段的名称。LOWER_BOUND
:所选分区字段的包含下限值。对于日期或时间戳字段,连接器接受 Spark SQL 查询中使用的 Spark 时间戳格式。
有效值示例:
"TIMESTAMP \"1707256978123\"" "TIMESTAMP '2018-01-01 00:00:00.000 UTC'" "TIMESTAMP \"2018-01-01 00:00:00 Pacific/Tahiti\"" "TIMESTAMP \"2018-01-01 00:00:00\"" "TIMESTAMP \"-123456789\" Pacific/Tahiti" "TIMESTAMP \"1702600882\""
UPPER_BOUND
:所选分区字段的排除上限值。NUM_PARTITIONS
:分区的数量。
例如:
salesforce_read = glueContext.create_dynamic_frame.from_options(
connection_type="salesforce",
connection_options={
"connectionName": "connectionName",
"ENTITY_NAME": "Account",
"API_VERSION": "v60.0",
"PARTITION_FIELD": "SystemModstamp"
"LOWER_BOUND": "TIMESTAMP '2021-01-01 00:00:00 Pacific/Tahiti'"
"UPPER_BOUND": "TIMESTAMP '2023-01-10 00:00:00 Pacific/Tahiti'"
"NUM_PARTITIONS": "10"
}