数据管道简介¶
数据管道可自动执行转换和优化连续数据加载所涉及的许多手动步骤。通常,“原始”数据首先被临时加载到用于临时存储的暂存表中,然后使用一系列 SQL 语句进行转换,然后再插入到目标报告表中。此过程最有效的工作流程包括仅转换新数据或修改后的数据。
本主题内容:
连续数据管道中包含的功能¶
Snowflake 提供以下功能来启用连续数据管道:
- 连续数据加载:
连续数据加载的选项包括:
- 连续数据转换:
动态表是声明性自动化数据管道,可简化数据工程并提供转换数据的简单方法。您可以简单地定义转换的最终状态,而不是将数据转换步骤定义为一系列任务。
有关更多信息和详细信息,请参阅 动态表。
- 更改数据跟踪:
流 对象记录表(例如暂存表)的更改数据获取 (CDC) 信息的增量,包括插入和其他数据操作语言 (DML) 更改。流允许在两个事务时间点之间在行级别查询和使用对表的一组更改。
在连续数据管道中,表流会记录何时使用连续数据加载将来自业务应用程序的数据填充到暂存表和任何下游表中,以及何时可使用 SQL 语句进行进一步处理。
有关更多信息,请参阅 使用表流进行变更跟踪。
- 重复任务:
任务 对象定义了用于执行 SQL 语句(包括调用存储过程的语句)的重复计划。任务可以链接在一起进行连续执行,以支持更复杂的定期处理。
任务可以选择使用表流来提供一种方便的方式来连续处理新的数据或更改的数据。任务可以转换流显示的新行或更改的行。每次计划运行任务时,任务都可以验证流是否包含表的更改数据(使用 SYSTEM$STREAM_HAS_DATA),如果不存在更改数据,则使用更改数据或跳过当前运行。
用户可以定义简单的树状任务结构,该结构执行连续的 SQL 语句来处理数据并将其移至各种目标表中。
有关更多信息,请参阅 任务简介。