Airflow 是一個咱們正在用的工做流調度器,相對於傳統的crontab任務管理,Airflow很好的爲咱們理清了複雜的任務依賴關係、監控任務執行的狀況。咱們喜歡它是由於它寫代碼太容易了,也便於調試、維護和繼承重用,而不是像xml那樣的配置文件用來描述DAG。html
經過SQL和HQL的臨時查詢,咱們還能夠快速生成前端圖表,並且順帶連數據的API接口也都生成了,這幾乎要讓的Web開發工程師失業了。前端
固然Airflow還支持移動端顯示,只要收藏頁面,咱們就能夠實現"移動監控"。mysql
強大的任務調度與管理git
調度代碼盡收眼底github
配置 SQL 語句,以及做圖的optionweb
圖表自動生成sql
API數據自動生成docker
將當前的圖表地址 http://localhost:8080/admin/airflow/chart?chart_id=2&iteration_no=40
替換成 http://localhost:8080/admin/airflow/chart_data?chart_id=2&iteration_no=40
便可返回json數據數據庫
若是對 API數據自動生成不夠滿意,還能夠輕鬆地對源代碼自行定製。apache
任務日誌
任務監控
調度配置化
系統配置
用戶管理
數據源管理
若是經過 docker
docker pull airflow
若是經過 pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple airflow
這裏若是不修改路徑,默認的配置就是 ~/airflow
臨時修改 AIRFLOW_HOME 環境變量, 這裏的 /home/airflow
能夠替換成你想要的文件夾目錄
export AIRFLOW_HOME=/home/airflow
永久修改環境變量
echo "export AIRFLOW_HOME=/home/airflow" >> /etc/profile source /etc/profile
系統默認的配置文件是從 airflow包的configuration.py
文件中獲取的,在設置了路徑和airflow.cfg
以後,配置將由airflow.cfg
所替代。
找到配置文件
vi /home/airflow/airflow.cfg
修改sql配置
sql_alchemy_conn = mysql://root:FinanceR@localhost:3306/airflow
注意到,以前使用的 mysql+driver://root:FinanceR@localhost:3306/airflow
的方式是行不通的。
初始化服務器的數據庫
airflow initdb
airflow webserver
就能夠開啓後臺管理界面,默認訪問localhost:8080
便可。
經過create
按鈕,添加相應的參數
注意到 airflow 的全部.py文件都聲明瞭 utf-8 字符集
# -*- coding: utf-8 -*-
若是須要顯示中文,須要在extra
選項中添加{"charset":"utf8"}
的配置
更優閱讀體驗可直接訪問原文地址:https://segmentfault.com/a/11...
做爲分享主義者(sharism),本人全部互聯網發佈的圖文均聽從CC版權,轉載請保留做者信息並註明做者 Harry Zhu 的 FinanceR專欄:https://segmentfault.com/blog...,若是涉及源代碼請註明GitHub地址:https://github.com/harryprince。微信號: harryzhustudio商業使用請聯繫做者。