数据任务常像每天定点出发的班车:不管有没有新乘客,都照常跑一趟。Reddit 用户 ardentcase 分享了一种不同做法:让 Dagster——负责决定数据任务何时运行的编排工具——根据数据资产的状态触发 dbt。dbt 则用 SQL 把原始数据整理成分析表。这样不用反复规划时间表;据发帖者自述,dbt 还会把能合并的转换装进同一次运行,因此执行更快、更高效,也减少了 ECS 的启动开销。
代价也随之出现。一次运行若集中生成多项数据资产,其中一项失败,整次运行就会被标记为失败,已经生成资产的下游任务也不会继续。发帖者考虑让下游忽略失败,或把失败降为警告,但认为两种办法都不够稳妥。这个案例的价值不在于宣布“定时任务已过时”,而是把条件驱动编排的真实权衡摆出来:它能少做无效计算,却要求团队重新定义失败如何传播、哪些任务该重试,以及下游何时可以安全继续。帖子未提供量化测试或长期运行数据。