我在 airflow dag 中有 3 个任务。
这三个任务有时间依赖性
任务 1 - 早上 8 点
任务 - 凌晨 2 点到 10 点
任务 -3 - 凌晨 12 点
我没有找到任何涉及该内容的文档。它告诉我只设置上游或下游作业。谁能帮忙解决这个问题
我正在使用 Google CLoud Composer
最佳答案
好吧,Airflow 结构是为了让 schedule_interval
在 DAG 级别设置。这意味着您可以设置整个 DAG 开始执行的时间,但您不能真正为每个任务指定不同的执行时间。
如果您有三个相互不依赖的独立任务,解决方案是创建三个不同的 DAG,并在这三个不同的时间安排它们。
如果相反 task_2
的时间依赖性和 task_3
不是那么重要,但您只关心执行一个接一个您确实可以设置任务之间的依赖关系,以便 task_2
始终在 task_1
之后运行已经完成并且task_3
始终在 task_2
之后运行已完成。要设置依赖关系,您可以使用非常方便的语法(假设您的任务已分配给变量 task_1
、task_2
、task_3
):
task_1 >> task_2 >> task_3
可以引用Airflow official documentation获取更多信息。
长话短说: 您不能安排单个任务在不同的特定时间运行,因为您唯一可以设置的时间是整个 DAG 运行时间。
https://stackoverflow.com/questions/60993033/
相关文章:
java - 从 JSONObject 中删除除一个之外的所有键
node.js - 如何与 nx 并行运行 express 和 angular?
spring-boot - 带有 Spring 的 GraphQL-java - 解析器 vd da
react-native - 在 React Native Web 的情况下自定义 react-na
sql - Oracle FETCH FIRST 1 ROW with UNION ALL 语句
sql - Postgres : How do I extract year and month f