資料流程式設計教程:如何使用Airflow構建資料科學工作流

發表於2016-07-06

概述

Airflow 是一個我們正在用的工作流排程器,相對於傳統的crontab任務管理,Airflow很好的為我們理清了複雜的任務依賴關係、監控任務執行的情況。我們喜歡它是因為它寫程式碼太容易了,也便於除錯、維護和繼承重用,而不是像xml那樣的配置檔案用來描述DAG。

通過SQL和HQL的臨時查詢,我們還可以快速生成前端圖表,而且順帶連資料的API介面也都生成了,這幾乎要讓的Web開發工程師失業了。

當然Airflow還支援移動端顯示,只要收藏頁面,我們就可以實現”移動監控”。

資料流程式設計教程:如何使用Airflow構建資料科學工作流

功能總覽

1. 任務排程系統:DAGs

  • 強大的任務排程與管理

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 排程程式碼一覽無餘

資料流程式設計教程:如何使用Airflow構建資料科學工作流

2. 資料剖析

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 配置 SQL 語句,以及作圖的option

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 圖表自動生成

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • API資料自動生成

將當前的圖表地址 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資料

資料流程式設計教程:如何使用Airflow構建資料科學工作流

如果對 API資料自動生成不夠滿意,還可以輕鬆地對原始碼自行定製。

3. 監控管理

  • 任務日誌

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 任務監控

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 排程配置化

資料流程式設計教程:如何使用Airflow構建資料科學工作流

4. 許可權管理

  • 系統配置

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 使用者管理

資料流程式設計教程:如何使用Airflow構建資料科學工作流

  • 資料來源管理

資料流程式設計教程:如何使用Airflow構建資料科學工作流

實戰

步驟一:安裝Airflow

步驟二:修改預設路徑

這裡如果不修改路徑,預設的配置就是 ~/airflow

臨時修改 AIRFLOW_HOME 環境變數, 這裡的 /home/airflow 可以替換成你想要的資料夾目錄

永久修改環境變數

系統預設的配置檔案是從 airflow包的configuration.py檔案中獲取的,在設定了路徑和airflow.cfg之後,配置將由airflow.cfg所替代。

步驟三:修改預設資料庫

找到配置檔案

修改sql配置

注意到,之前使用的 mysql+driver://root:FinanceR@localhost:3306/airflow的方式是行不通的。

初始化伺服器的資料庫

就可以開啟後臺管理介面,預設訪問localhost:8080即可。

步驟四:修改資料來源配置

通過create按鈕,新增相應的引數

資料流程式設計教程:如何使用Airflow構建資料科學工作流

步驟五:解決中文字符集顯示問題

注意到 airflow 的所有.py檔案都宣告瞭 utf-8 字符集

如果需要顯示中文,需要在extra選項中新增
{"charset":"utf8"}的配置

資料流程式設計教程:如何使用Airflow構建資料科學工作流

參考資料

相關文章