- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力理解 Airflow 中的 BranchPythonOperator 是如何工作的。我知道它主要用于分支,但对文档中关于传递到任务的内容以及我需要从任务上游传递/期望的内容感到困惑。
给出文档 on this page 中的简单示例名为 run_this_first
的上游任务和 2 个分支的下游任务的源代码是什么样的? Airflow 究竟如何知道运行 branch_a
而不是 branch_b
?上游任务的输出在哪里被注意到/读取?
最佳答案
您的 BranchPythonOperator 是使用 python_callable
创建的,它将是一个函数。该函数应根据您的业务逻辑返回您已连接的直接下游任务的任务名称。这可能是紧邻下游的 1 到 N 个任务。下游任务不需要读取任何内容,但是您可以使用 xcom 向它们传递元数据。
def decide_which_path():
if something is True:
return "branch_a"
else:
return "branch_b"
branch_task = BranchPythonOperator(
task_id='run_this_first',
python_callable=decide_which_path,
trigger_rule="all_done",
dag=dag)
branch_task.set_downstream(branch_a)
branch_task.set_downstream(branch_b)
设置 trigger_rule
非常重要,否则所有其余的都将被跳过,因为默认值为 all_success
。
关于airflow - Airflow 的 BranchPythonOperator 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44526354/
我正在努力理解 Airflow 中的 BranchPythonOperator 是如何工作的。我知道它主要用于分支,但对文档中关于传递到任务的内容以及我需要从任务上游传递/期望的内容感到困惑。 给出文
我的 dag 定义如下。虽然 flag1 和 flag2 都是 y,但它们不知何故被跳过了。 from datetime import datetime, timedelta from airflow
在我的 DAG 中,我有一些任务只能在周六运行。因此,我使用 BranchPythonOperator 在星期六的任务和 DummyTask 之间进行分支。之后,我加入了两个分支并想运行其他任务。 工
我广泛搜索了 Airflow 博客和文档来调试我遇到的问题。 我想要解决的问题 检查 ftp 服务器上是否存在特定文件 如果存在,请将其上传到云端 如果不存在,请向客户发送电子邮件,报告未找到文件 我
我是一名优秀的程序员,十分优秀!