[Ultimate]{class="badge positive"}
Snowflake流源
Adobe Experience Platform允许从外部源摄取数据,同时让您能够使用Platform服务来构建、标记和增强传入数据。 您可以从各种来源(如Adobe应用程序、基于云的存储、数据库和许多其他来源)中摄取数据。
Experience Platform支持从Snowflake数据库流式传输数据。
了解Snowflake流源
Snowflake流源通过定期执行SQL查询并为结果集中的每一行创建输出记录来加载数据。
通过使用Kafka Connect,Snowflake流源将跟踪它从每个表中收到的最新记录,以便它可以在下一个迭代的正确位置开始。 源使用此功能来筛选数据,并且只从每个迭代上的表中获取更新的行。
先决条件
以下部分概述了从Snowflake数据库流式传输数据到Experience Platform之前需要完成的先决步骤:
更新IP地址允许列表
在使用源连接器之前,必须将IP地址列表添加到允许列表中。 未能将特定于区域的IP地址添加到允许列表中,可能会导致使用源时出现错误或性能不佳。 有关详细信息,请参阅IP地址允许列表页。
以下文档提供了有关如何使用API或用户界面将Amazon Redshift连接到Platform的信息:
收集所需的凭据
为了使Flow Service与Snowflake连接,您必须提供以下连接属性:
account
Snowflake帐户的完整帐户标识符(帐户名称或帐户定位器)附加了后缀snowflakecomputing.com
。 帐户标识符可以具有不同的格式:
- {ORG_NAME}-{ACCOUNT_NAME}.snowflakecomputing.com (如
acme-abc12345.snowflakecomputing.com
) - {ACCOUNT_LOCATOR}。{CLOUD_REGION_ID}.snowflakecomputing.com (如
acme12345.ap-southeast-1.snowflakecomputing.com
) - {ACCOUNT_LOCATOR}。{CLOUD_REGION_ID}。{CLOUD}.snowflakecomputing.com (如
acme12345.east-us-2.azure.snowflakecomputing.com
)
有关详细信息,请阅读Snowflake document on account identifiers。
warehouse
database
username
password
role
public
。connectionSpec.id
51ae16c2-bdad-42fd-9fce-8d5dfddaf140
。配置角色设置 configure-role-settings
即使分配了默认公共角色,也必须配置角色的权限,以允许源连接访问相关Snowflake数据库、架构和表。 不同Snowflake实体的各种权限如下所示:
有关角色和权限管理的详细信息,请参阅Snowflake API参考。
限制和常见问题解答 limitations-and-frequently-asked-questions
-
Snowflake源的数据吞吐量为每秒2000条记录。
-
根据仓库的活动时间和仓库的大小,定价可能会有所不同。 对于Snowflake源集成,最小大小x小仓库就足够了。 建议启用自动暂停,以便仓库在不使用时能够自行暂停。
-
Snowflake源每10秒轮询数据库一次新数据。
-
配置选项:
-
创建源连接时,您可以为Snowflake源启用
backfill
布尔标记。- 如果回填设置为true ,则timestamp.initial的值将设置为0。 这意味着获取时间戳列大于0纪元时间的数据。
- 如果回填设置为false,则timestamp.initial的值将设置为–1。 这意味着获取时间戳列大于当前时间(源开始摄取的时间)的数据。
-
时间戳列的格式应该是:
TIMESTAMP_LTZ
或TIMESTAMP_NTZ
。 如果时间戳列设置为TIMESTAMP_NTZ
,则应通过timezoneValue
参数传递存储值的相应时区。 如果未提供,该值将默认为UTC。TIMESTAMP_TZ
不能用于时间戳列或映射。
-
后续步骤
以下教程提供了有关如何使用API将Snowflake流源连接到Experience Platform的步骤: