Streams 和 Tasks 简介¶
Snowflake 通过 Streams 和 Tasks 支持连续数据管道:
- 流:
流 对象记录表(例如暂存表)的更改数据获取 (CDC) 信息的增量,包括插入和其他数据操作语言 (DML) 更改。流允许在两个事务时间点之间在行级别查询和使用对表的一组更改。
在连续数据管道中,表流会记录何时使用连续数据加载将来自业务应用程序的数据填充到暂存表和任何下游表中,以及何时可使用 SQL 语句进行进一步处理。
有关更多信息,请参阅 Streams 简介。
- 任务:
任务 对象定义了用于执行 SQL 语句(包括调用存储过程的语句)的重复计划。任务可以链接在一起进行连续执行,以支持更复杂的定期处理。
任务可以选择使用表流来提供一种方便的方式来连续处理新的数据或更改的数据。任务可以转换流显示的新行或更改的行。每次计划运行任务时,任务都可以验证流是否包含表的更改数据(使用 SYSTEM$STREAM_HAS_DATA),如果不存在更改数据,则使用更改数据或跳过当前运行。
用户可以定义简单的树状任务结构,该结构执行连续的 SQL 语句来处理数据并将其移至各种目标表中。
有关更多信息,请参阅 任务简介。
有关其他连续数据管道功能,请参阅:
使用 Snowpipe、Snowpipe Streaming 或 Snowflake Connector for Kafka 进行连续数据加载。
使用 动态表 进行连续数据转换。