Apache Airflow的完整介绍( 二 )


airflow webserver -p 8081
我们还需要启动调度程序 。
【Apache Airflow的完整介绍】airflow scheduler
现在 , 如果我们导航到http:// localhost:8081 / admin /?showPaused = True 。我们将看到以下屏幕 。

Apache Airflow的完整介绍

文章插图
 
Airflow有一些显示在用户界面中的示例dag 。一旦开始创建自己的窗口 , 您可以通过单击屏幕底部的"隐藏暂停的DAG"来隐藏它们 。
4.基本的CLI命令让我们使用这些示例dag来浏览一些常见的Airflow CLI命令 。
让我们从教程dag中运行sleep任务 。
airflow run tutorial sleep 2020-05-31
我们可以在教程DAG中列出任务 。
bash-3.2$ airflow list_tasks tutorial
暂停此DAG 。
airflow pause tutorial
取消暂停教程 。
airflow unpause tutorial
回填(在过去的日期执行任务) 。指定dag_id(教程) , 开始日期(-s)和结束日期(-e) 。
airflow backfill tutorial -s 2020-05-28 -e 2020-05-30
有关CLI命令的完整列表 , 请参见文档中的此页面 。
5. Web UI我们可以从Web UI监视 , 检查和运行任务 。如果返回到Web服务器 , 我们可以看到我们在教程DAG上运行的CLI命令的效果 。为了便于查看 , 我隐藏了暂停的dag 。
Apache Airflow的完整介绍

文章插图
 
我们可以通过多种方法来检查DAGS的运行情况 。
如果我们选择树状视图 。
Apache Airflow的完整介绍

文章插图
 
我们可以轻松查看哪些任务已运行 , 正在运行或已失败 。
Apache Airflow的完整介绍

文章插图
 
我们还可以通过单击小方块从此处运行 , 清除或标记特定任务 。
Apache Airflow的完整介绍

文章插图
 
如果单击"渲染"按钮 , 我们可以查看已运行的代码或命令 。
Apache Airflow的完整介绍

文章插图
 
通过"代码"视图 , 我们可以查看组成DAG的代码 。
Apache Airflow的完整介绍

文章插图
 
Graph View是一种很好的方式可视化任务的排序或相关方式 。
Apache Airflow的完整介绍

文章插图
 
Web UI中的另一个重要区域是Admin 。在这里 , 您可以定义与其他平台(如数据库)的连接 , 并定义可重用的变量 。
Apache Airflow的完整介绍

文章插图
 
6.第一个DAG我将在此处尝试提供一个接近实际的DAG示例 , 以说明至少一种使用Airflow的方法 , 并介绍随之而来的一些复杂性 。
我将编写一个Airflow DAG , 它首先检查BigQuery公共数据集中感兴趣日期的数据是否存在 , 然后按日程将数据加载到我自己的私有项目中的表中 。
BigQuery有一个免费的使用层 , 该层允许您每月查询1TB数据 , 因此 , 如果您想自己尝试一下 , 则可以以零成本进行 。
BigQuery设置为了同时使用Airflow和BigQuery , 我们需要首先完成一些附加的设置步骤 。
为了能够通过Airflow查询和加载BigQuery中的数据 , 我们需要首先授予Airflow所需的安全权限 。
为此 , 您需要在google Cloud Platform上创建一个服务帐户 。这有点像创建一个有权访问您的帐户的用户 , 但其目的是允许其他平台访问 。
首先 , 从Google Cloud Console导航到服务帐户 。然后单击创建服务帐户按钮 。
接下来填写显示的表格 。
Apache Airflow的完整介绍

文章插图
 
在下一页上 , 您需要选择要授予的访问级别 。我已选择所有资源的编辑器 , 因为这是我的个人帐户 , 并且此处没有存储任何敏感数据 。如果我更担心潜在的安全问题 , 那么我将授予更多的细化权限 。
接下来 , 您需要创建一个私钥 , 可以通过选择创建密钥来完成 。选择JSON , 因为这是Airflow所需要的 。私钥将被下载到您需要安全存储的本地系统 。


推荐阅读