是否可以在UI中“标记”气流DAG?

时间:2018-08-31 17:36:21

标签: airflow

在气流DAG UI中,我想为DAG的子集添加标签。假设有一个标签#weekend_runs,我想添加到某些特定的DAG中。

是否可以基于Airflow中的标签过滤UI中的DAG视图?还是我需要做一些骇人听闻的事情,例如在DAG名称的末尾添加_weekend_run,以便使用模糊搜索并过滤掉其他脚本?

谢谢!

2 个答案:

答案 0 :(得分:7)

现在可以从Airflow 1.10.9向DAG添加标签

为了过滤DAG(例如按小组),您可以在每个dag中添加标签。 过滤器保存在Cookie中,可以通过重置按钮重置。

例如:

Dag文件

dag = DAG('dag', tags=['example'])

UI Dag Tag

注意:此功能仅适用于RBAC UI(使用rbac=True[webserver]部分的airflow.cfg启用)。

答案 1 :(得分:2)

这是不可能的,甚至在Airflow 2.0的roadmap中也没有。 正如您建议的那样,我过去使用的一种技巧是滥用一个字段(DAG名称或Owner),例如,在DAG名称中添加_weekend_run。然后,我创建了一个Greasemonkey用户脚本,该脚本可以过滤掉您不想在UI中显示的DAG。以下脚本中的内容将为您的应用程序完成工作:

// ==UserScript==
// @name         Only weekend runs
// @match        http://<airflow-instance-url-here>/admin/
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    $('td:not:contains("weekend_run")').parent().hide();
})();

不幸的是,要使其正常工作,必须将其安装在每个用户的浏览器上,这远非理想。当然,理想的做法是对Airflow项目进行PR:)