AIFlow 是一個基於事件的工作流程編排平台,可讓使用者以程式設計方式創作和安排串流和批次任務混合的工作流程。
大多數現有的工作流程編排平台(例如Apache AirFlow、KubeFlow)會根據上游任務執行的狀態變化來調度任務執行。雖然此方法適用於保證結束的批次任務,但它不適用於可能無限運行而不更改狀態的流程任務。 AIFlow 的提出是為了促進涉及流程任務的工作流程的編排。
例如,使用者可能希望連續執行 Flink 流作業來組裝訓練數據,並在每次 Flink 作業處理完過去一小時的所有上游數據時啟動機器學習訓練作業。為了使用非基於事件的工作流程編排平台來排程此工作流程,使用者需要根據掛鐘時間定期安排訓練作業。如果出現流量高峰或上游作業失敗,則在 TensorFlow 作業啟動時 Flink 作業可能尚未處理預期數量的上游資料。上游作業要嘛繼續等待,要嘛快速失敗,要嘛處理部分數據,這些都不是理想的。相較之下,AIFlow 為 Flink 作業提供了 API,每當基於事件的浮水印增加一小時時,就會發出事件,從而觸發執行使用者指定的訓練作業,而不會遇到上述問題。
了解有關 AIFlow 的更多信息,請訪問 https://ai-flow.readthedocs.io
事件驅動:AIFlow 會根據事件安排工作流程和作業。這比狀態驅動的調度更有效率,並且能夠調度包含流作業的工作流程。
可擴展:使用者可以輕鬆定義自己的操作者和執行者,將各種類型的任務提交到不同的平台。
Exactly-once:AIFlow 提供了具有 Exactly-once 語意的事件處理機制,這意味著即使發生故障轉移,您的任務也不會遺失或重複。
B基於AIFlow+Flink在批流融合調度上的實踐
我們很高興地歡迎以任何方式對 AIFlow 做出貢獻,無論是報告問題、起草功能還是貢獻程式碼變更。您可以回報問題以請求 GitHub 問題中的功能。如果您想貢獻程式碼更改,請查看貢獻文件。
如需了解更多信息,我們建議您加入 Google 網上論壇上的AIFlow 社區群組,以便與我們聯繫: [email protected] 。
您也可以加入釘釘群組。釘釘群號是35876083
,也可以掃描下面的二維碼加入群組: