使用 Time Travel 查询历史数据
Snowy Peak 的夜间批处理作业向 subscriptions 表加载了 2 个已取消的账户。数据团队想将当前行数与批处理运行前的行数进行比较。借助 Snowflake 的 Time Travel,无需任何外部备份就能实现。
snowy_peak.subscriptions 表包含列 subscription_id、user_email、plan、status、start_date 和 monthly_fee。会话变量 $snapshot_ts 保存了在批量更新开始前捕获的时间戳。
本练习是课程的一部分
Snowflake 架构
练习说明
- 使用
AT (TIMESTAMP => ...)按批量更新前的状态查询snowy_peak.subscriptions。将会话变量$snapshot_ts用作时间戳。 - 将行数计为
pre_update_count,以确认在新增这 2 个已取消账户之前共有多少条订阅记录。
交互式实操练习
通过完成这段示例代码来试试这个练习。
-- Count subscriptions before the overnight batch update
SELECT COUNT(*) AS pre_update_count
FROM snowy_peak.subscriptions
AT (___ => ___);