Google Cloud Composer DAG 未出现在 UI 中

Posted

技术标签:

【中文标题】Google Cloud Composer DAG 未出现在 UI 中【英文标题】:Google Cloud Composer DAG not appearing in UI 【发布时间】:2020-06-23 14:28:48 【问题描述】:

正在尝试向我们的 Google Cloud Composer 实例添加新的 DAG - 我们目前有 32 多个 DAG - 并且在 https://cloud.google.com/composer/docs/how-to/using/managing-dags 中执行通常的操作似乎没有任何效果 - 我们看不到这些 DAG在网络服务器/用户界面中,我没有看到它们必须被加载。我确实看到它们被复制到日志中的适当存储桶中,但除此之外没有。

我什至尝试设置一个虚拟环境变量来启动 Composer 实例的完全重启,但无济于事。

最后,我整理了一个完全精简的 DAG,并尝试添加它。这是 DAG:

from airflow import models
from airflow.contrib.operators import kubernetes_pod_operator
from airflow.operators.python_operator import BranchPythonOperator
from airflow.operators.dummy_operator import DummyOperator

dag = models.Dag(
    dag_id="test-dag",
    schedule_interval=None,
    start_date=datetime(2020, 3, 9),
    max_active_runs=1,
    catchup=False,
)

task_test = DummyOperator(dag=dag, task_id="test-task")

即使是这个简单的 DAG 也没有得到采纳,所以我想知道接下来我可以尝试什么。我查看了https://github.com/apache/airflow/blob/master/airflow/config_templates/default_airflow.cfg,以查看是否有任何我可以在 DagBag 加载时间限制等方面进行调整的地方,但没有任何进展。完全被这里难住了。

【问题讨论】:

【参考方案1】:

我的环境也没有采用您的示例。但是,我尝试了以下格式并且没有问题:

from airflow import DAG
from datetime import datetime
from airflow.contrib.operators import kubernetes_pod_operator
from airflow.operators.python_operator import BranchPythonOperator
from airflow.operators.dummy_operator import DummyOperator

with DAG(
    "my-test-dag",
    schedule_interval=None,
    start_date=datetime(2020, 3, 9),
    max_active_runs=1,
    catchup=False) as dag:

        task_test = DummyOperator(dag=dag, task_id="my-test-task")

【讨论】:

感谢您的回复 - 我试过了,但它仍然不起作用 - 我们从日志中挑选出的一件事是,从 DAGs 文件夹中复制数据时似乎发生了一些错误:`` ` 类型:“k8s_container” 严重性:“错误” textPayload:“正在复制 gs://us-central1-composer-0f124775-bucket/dags/test.py...” 时间戳:“2020-03-11T15:34: 48.668270555Z" ``` 实际上这似乎有效 - 让我用另一个 dag 试试 @Yeager 如果另一个 DAG 的结果也是肯定的,请接受答案。【参考方案2】:

我们最终解决了这个问题:

dag = models.Dag(

应该是

dag = models.DAG(

【讨论】:

以上是关于Google Cloud Composer DAG 未出现在 UI 中的主要内容,如果未能解决你的问题,请参考以下文章

DAG 在 Google Cloud Composer 网络服务器上不可点击,但在本地 Airflow 上运行良好

google-cloud-composer BigQuery 跨数据集加载

Google Cloud Composer (Apache Airflow) 无法访问日志文件

添加第一个 dag 时出现 Cloud Composer 调度程序错误

Cloud Composer DAG 级别访问控制

在 Google Composer 中将 Bigquery 结果保存为 JSON