【问题标题】:Return a python object from GKEPodOperator从 GKEPodOperator 返回一个 python 对象
【发布时间】:2021-05-11 19:15:42
【问题描述】:

我有一个 Airflow DAG 执行调用 GKEPodOperator,其中运行 python 脚本来处理数据并将数据加载到 BigQuery。 GKEPodOperator 是否可以像 python 列表或字典一样从执行的脚本返回 DAG,以便我可以利用它来使用 DAGOperator 编写自定义电子邮件?

【问题讨论】:

    标签: google-cloud-platform airflow


    【解决方案1】:

    第一个 GKEPodOperator 已弃用。你应该使用GKEStartPodOperator

    与其他运算符一样,您可以使用 Xcom 在任务之间传递值。请注意,GKEStartPodOperator 继承自 KubernetesPodOperator,因此 xcom 机制与其他运算符不同。它适用于启动边车容器。你可以阅读更多关于它的例子here

    现在您已将所需的值存储为 XCOM(作为字符串),您希望将其拉出,以便在自定义运算符中使用它:

    1. Airflow >= 2.1.0(尚未发布) 原生支持将 xcom 直接转换为原生 python 对象。见PR。您需要设置render_template_as_native_obj=True。您可以在文档中了解更多信息:Rendering Fields as Native Python Objects

    2. Airflow < 2.1.0: 在后续任务中,您需要提取 xcom 值并将其转换为您想要的任何 Python 对象。你可以看到它的例子here

    【讨论】:

      猜你喜欢
      • 2021-03-01
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      • 2022-07-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2014-08-10
      相关资源
      最近更新 更多