中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

如何使用AirFlow管理界面

AirFlow 簡(jiǎn)介

Airflow 是一個(gè) Airbnb 的 Workflow 開源項(xiàng)目,在Github 上已經(jīng)有超過兩千星。Airflow 使用 Python 寫的,支持 Python 2/3 兩個(gè)版本。 傳統(tǒng) Workflow 通常使用 Text Files (json, xml / etc) 來定義 DAG, 然后 Scheduler 解析這些 DAG 文件形成具體的 Task Object 執(zhí)行;Airflow 沒這么干,它直接用 Python 寫 DAG definition, 一下子突破了文本文件表達(dá)能力的局限,定義 DAG 變得簡(jiǎn)單。 另外,Airflow 的權(quán)限設(shè)計(jì)、限流設(shè)計(jì)、以及 Hook/Plugin 的設(shè)計(jì)都挺有意思,功能性、擴(kuò)展性良好。當(dāng)然,項(xiàng)目里的代碼質(zhì)量感覺比較一般,很多地方函數(shù)名和實(shí)現(xiàn)不太一致,造成理解障礙;也有很多 Flag 和重復(fù)出現(xiàn)的定義,顯然是當(dāng)初沒有設(shè)計(jì)好、后面沒有精力 Refactor 轉(zhuǎn)而 Hack 的結(jié)果。但總體上,可讀性中上,系統(tǒng)的擴(kuò)展性非常好。 

創(chuàng)新互聯(lián)建站長(zhǎng)期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為柯城企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站設(shè)計(jì),柯城網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

AirFlow 的webserver UI

DAGS

如何使用AirFlow管理界面

  1. 左側(cè) On/Off 按鈕控制 DAG 的運(yùn)行狀態(tài),Off 為暫停狀態(tài),On 為運(yùn)行狀態(tài)。注意:所有 DAG 腳本初次部署完成時(shí)均為 Off 狀態(tài)。

  2. 若 DAG 名稱處于不可點(diǎn)擊狀態(tài),可能為 DAG 被刪除或未載入。若 DAG 未載入,可點(diǎn)擊右側(cè)刷新按鈕進(jìn)行刷新。注意:由于可以部署若干 WebServer,所以單次刷新可能無法刷新所有 WebServer 緩存,可以嘗試多次刷新。

  3. Recent Tasks 會(huì)顯示最近一次 DAG Run(可以理解為 DAG 的執(zhí)行記錄)中 Task Instances(可以理解為作業(yè)的執(zhí)行記錄)的運(yùn)行狀態(tài),如果 DAG Run 的狀態(tài)為 running,此時(shí)顯示最近完成的一次以及正在運(yùn)行的 DAG Run 中所有 Task Instances 的狀態(tài)。

  4. Last Run 顯示最近一次的 execution date。注意:execution date 并不是真實(shí)執(zhí)行時(shí)間,具體細(xì)節(jié)在下文 DAG 配置中詳述。將鼠標(biāo)移至 execution date 右側(cè) info 標(biāo)記上,會(huì)顯示 start date,start date 為真實(shí)運(yùn)行時(shí)間。start date 一般為 execution date 所對(duì)應(yīng)的下次執(zhí)行時(shí)間。
作業(yè)操作框

在 DAG 的樹狀圖和 DAG 圖中都可以點(diǎn)擊對(duì)應(yīng)的 Task Instance 以彈出 Task Instance 模態(tài)框,以進(jìn)行 Task Instance 的相關(guān)操作。注意:選擇的 Task Instance 為對(duì)應(yīng) DAG Run 中的 Task Instance。

如何使用AirFlow管理界面

  1. 在作業(yè)名字的右邊有一個(gè)漏斗符號(hào),點(diǎn)擊后整個(gè) DAG 的界面將只顯示該作業(yè)及該作業(yè)的依賴作業(yè)。當(dāng)該作業(yè)所處的 DAG 較大時(shí),此功能有較大的幫助。

  2. Task Instance Details 顯示該 Task Instance 的詳情,可以從中得知該 Task Instance 的當(dāng)前狀態(tài),以及處于當(dāng)前狀態(tài)的原因。例如,若該 Task Instance 為 no status 狀態(tài),遲遲不進(jìn)入 queued 及 running 狀態(tài),此時(shí)就可通過 Task Instance Details 中的 Dependency 及 Reason 得知原因。

  3. Rendered 顯示該 Task Instance 被渲染后的命令。

  4. Run 指令可以直接執(zhí)行當(dāng)前作業(yè)。

  5. Clear 指令為清除當(dāng)前 Task Instance 狀態(tài),清除任意一個(gè) Task Instance 都會(huì)使當(dāng)前 DAG Run 的狀態(tài)變更為 running。注意:如果被清除的 Task Instance 的狀態(tài)為 running,則會(huì)嘗試 kill 該 Task Instance 所執(zhí)行指令,并進(jìn)入 shutdown 狀態(tài),并在 kill 完成后將此次執(zhí)行標(biāo)記為 failed(如果 retry 次數(shù)沒有用完,將標(biāo)記為 up_for_retry)。Clear 有額外的5個(gè)選項(xiàng),均為多選,這些選項(xiàng)從左到右依次為:

    1. Past: 同時(shí)清除所有過去的 DAG Run 中此 Task Instance 所對(duì)應(yīng)的 Task Instance。
    2. Future: 同時(shí)清除所有未來的 DAG Run 中此 Task Instance 所對(duì)應(yīng)的 Task Instance。注意:僅清除已生成的 DAG Run 中的 Task Instance。
    3. Upstream: 同時(shí)清除該 DAG Run 中所有此 Task Instance 上游的 Task Instance。
    4. Downstream: 同時(shí)清除該 DAG Run 中所有此 Task Instance 下游的 Task Instance。
    5. Recursive: 當(dāng)此 Task Instance 為 sub DAG 時(shí),循環(huán)清除所有該 sub DAG 中的 Task Instance。注意:若當(dāng)此 Task Instance 不是 sub DAG 則忽略此選項(xiàng)。
  6. Mark Success 指令為講當(dāng)前 Task Instance 狀態(tài)標(biāo)記為 success。注意:如果該 Task Instance 的狀態(tài)為 running,則會(huì)嘗試 kill 該 Task Instance 所執(zhí)行指令,并進(jìn)入 shutdown 狀態(tài),并在 kill 完成后將此次執(zhí)行標(biāo)記為 failed(如果 retry 次數(shù)沒有用完,將標(biāo)記為 up_for_retry)。
    如何使用AirFlow管理界面
    如何使用AirFlow管理界面

    跨越時(shí)間的 DAG 的樹表示。如果 pipeline(管道)延遲了,您可以很快地看到哪里出現(xiàn)了錯(cuò)誤的步驟并且辨別出堵塞的進(jìn)程。

如何使用AirFlow管理界面

圖形視圖可能是最全面的一種表現(xiàn)形式了。它可以可視化您的 DAG 依賴以及某個(gè)運(yùn)行實(shí)例的當(dāng)前狀態(tài)。

如何使用AirFlow管理界面

過去 N 次運(yùn)行的不同任務(wù)的持續(xù)時(shí)間。通過此視圖,您可以查找異常值并快速了解 DAG 在多次運(yùn)行中花費(fèi)的時(shí)間。

如何使用AirFlow管理界面

甘特圖可讓您分析任務(wù)持續(xù)時(shí)間和重疊情況。您可以快速識(shí)別系統(tǒng)瓶頸和哪些特定 DAG 在運(yùn)行中花費(fèi)了大量的時(shí)間。
如何使用AirFlow管理界面

透明就是一切。雖然您的 pipeline(管道)代碼在源代碼管理中,但這是一種快速獲取 DAG 代碼并提供更多上下文的方法。

如何使用AirFlow管理界面

從上面的頁面(樹視圖,圖形視圖,甘特圖......)中,始終可以單擊任務(wù)實(shí)例,并進(jìn)入此豐富的上下文菜單,該菜單可以將您帶到更詳細(xì)的元數(shù)據(jù)并執(zhí)行某些操作。

如何使用AirFlow管理界面
如何使用AirFlow管理界面
如何使用AirFlow管理界面
如何使用AirFlow管理界面
如何使用AirFlow管理界面

查看日志

如何使用AirFlow管理界面
如何使用AirFlow管理界面
如何使用AirFlow管理界面
如何使用AirFlow管理界面

所有的任務(wù)實(shí)例

如何使用AirFlow管理界面
如何使用AirFlow管理界面

記錄了所有DAG的運(yùn)行情況

如何使用AirFlow管理界面
如何使用AirFlow管理界面

外部系統(tǒng)的連接信息存儲(chǔ)在 Airflow 元數(shù)據(jù)數(shù)據(jù)庫(kù)中,并在 UI 中進(jìn)行管理(Menu -> Admin -> Connections)。在那里定義了conn_idconn_id而無需在任何地方硬編碼任何此類信息。
可以定義具有相同conn_id許多連接,并且在這種情況下,并且當(dāng)掛鉤使用來自BaseHook的get_connection方法時(shí),Airflow 將隨機(jī)選擇一個(gè)連接,允許在與重試一起使用時(shí)進(jìn)行一些基本的負(fù)載平衡和容錯(cuò)。
Airflow 還能夠通過操作系統(tǒng)中的環(huán)境變量引用連接。但它只支持 URI 格式。如果您需要為連接指定extra信息,請(qǐng)使用 Web UI。
如果在 Airflow 元數(shù)據(jù)數(shù)據(jù)庫(kù)和環(huán)境變量中都定義了具有相同conn_id連接,則 Airflow 將僅引用環(huán)境變量中的連接(例如,給定conn_idpostgres_master,在開始搜索元數(shù)據(jù)數(shù)據(jù)庫(kù)之前,Airflow 將優(yōu)先在環(huán)境變量中搜索AIRFLOW_CONN_POSTGRES_MASTER并直接引用它)。
許多鉤子都有一個(gè)默認(rèn)的conn_id,使用該掛鉤的 Operator 不需要提供顯式連接 ID。 例如,PostgresHook的默認(rèn)conn_id是postgres_default
如何使用AirFlow管理界面

XComs

XComs 允許任務(wù)交換消息,允許更細(xì)微的控制形式和共享狀態(tài)。該名稱是“交叉通信”的縮寫。XComs 主要由鍵,值和時(shí)間戳定義,但也跟蹤創(chuàng)建 XCom 的任務(wù)/DAG 以及何時(shí)應(yīng)該可見的屬性。任何可以被 pickle 的對(duì)象都可以用作 XCom 值,因此用戶應(yīng)該確保使用適當(dāng)大小的對(duì)象。
如何使用AirFlow管理界面

變量是將任意內(nèi)容或設(shè)置存儲(chǔ)和檢索為 Airflow 中的簡(jiǎn)單鍵值存儲(chǔ)的通用方法??梢詮?UI(Admin -> Variables),代碼或 CLI 列出,創(chuàng)建,更新和刪除變量。此外,json 設(shè)置文件可以通過 UI 批量上傳。雖然管道代碼定義和大多數(shù)常量和變量應(yīng)該在代碼中定義并存儲(chǔ)在源代碼控制中,但是通過 UI 可以訪問和修改某些變量或配置項(xiàng)會(huì)很有用。
如何使用AirFlow管理界面

分享名稱:如何使用AirFlow管理界面
本文URL:http://www.rwnh.cn/article2/ippjic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站全網(wǎng)營(yíng)銷推廣、動(dòng)態(tài)網(wǎng)站企業(yè)網(wǎng)站制作網(wǎng)站設(shè)計(jì)、電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
岳普湖县| 陆良县| 梁河县| 曲沃县| 昌吉市| 福建省| 沧源| 苗栗市| 襄汾县| 灵璧县| 苍南县| 光泽县| 永吉县| 浑源县| 诏安县| 贵南县| 宜君县| 东丰县| 洱源县| 长治县| 鲁甸县| 绥棱县| 肥乡县| 庄浪县| 望谟县| 贵德县| 昭苏县| 长海县| 祁连县| 焉耆| 通州区| 泰州市| 阜阳市| 启东市| 独山县| 清原| 安宁市| 无棣县| 洛扎县| 武宣县| 无棣县|