【发布时间】:2021-10-22 21:32:33
【问题描述】:
我有一个 dag,它告诉另一个 dag 按特定顺序创建哪些任务。
Dag 1 -> 具有任务顺序的文件
- 每 5 分钟左右运行一次,以保持此文件的最新状态。
Dag 2 -> 运行任务
- 每天运行。
如何使用 Airflow 在两个 DAG 之间传递这些数据。
解决方案和问题
- 使用气流变量的问题是我无法在运行时设置它们。
- 使用 Xcoms 的问题是它们只能在任务阶段运行,并且一旦在 Dag 2 中创建了任务,它们就被设置并且不能正确更改?
- 将文件推送到 s3 的问题在于,由于我无法控制的团队决定的安全原因,气流实例无权从 s3 中提取。
那我该怎么办?我有哪些选择?
【问题讨论】:
-
“使用气流变量的问题是我无法在运行时设置它们”是什么意思?乍一看,我认为 DAG1 执行
Variable.set(...)命令可以满足您的用例,但可能还有更多内容。 -
你不能只发现顺序作为 Dag-2 的第一步吗?
-
啊,我没有意识到
Variable.set是一个东西。它不在文档中......我可以在任务之外调用它吗?我可以在任务的设置代码中调用它吗?
标签: airflow