簡體   English   中英

數據比較過程中的循環工作流程

[英]Cyclic Workflow in Data Comparison Process

我正在尋找一種解決方案來自動化迭代數據比較過程,直到所有數據包都一致。 我的一般猜測是使用 Apache Airflow 之類的東西,但迭代性質似乎是一個循環圖。 Apache 氣流僅允許 DAG(有向無環圖)。 由於我對 Airflow 的了解並不多,所以我有點迷茫,希望能在這里獲得一些專業知識。

當前狀態:我處於一個位置,我經常需要比較數據包的一致性,並手動將錯誤傳達給兩個不同的方。

一方面有設計數據集,另一方面有測量數據集。 這兩個數據集都涉及來自不同方的許多手動步驟。 因此,如果發生不一致,我會聯系一方或另一方並手動刪除錯誤。 兩個數據集也有定期更改,可能會給已檢查的數據集帶來新的錯誤。 我猜這個過程還沒有自動化,因為數據集不能直接比較,但需要在兩者之間進行一些轉換。 我在過去幾周自動化了這個轉換過程,所以我現在需要做的就是運行腳本並傳達錯誤。

我現在需要的是一個工具,它可以根據正確的數據集編排我的腳本,並在存在錯誤時聯系相應的人員。 萬一發生更改或添加了腳本,則需要再次運行。

我的第一個猜測是我需要在 apache 氣流中創建一個工作流,但是這個迭代過程在我看來是一個循環圖,這在氣流中是不允許的。 您有什么建議嗎,或者這是一種常見的情況,是否也存在 Airflow 的解決方案?

我認為解決您的問題的一種方法可能是使用 DAG 工作流來完成比較數據集和發送通知的主要任務。 然后在 Cron、Quartz 等中運行一個觸發 DAG 工作流的周期性任務。 您在 Airflow 中是正確的,不喜歡循環工作流程。

我在 Cylc 工作,這是一個循環圖工作流工具。 循環工作流(或帶有循環的工作流)在數值天氣預報 NWP(創建 Cylc 的原因)等領域以及優化等其他領域非常常見。

在 NWP 工作流中,某些步驟可能正在等待數據集,如果數據與預期不符(例如缺少某些衛星成像數據,以及潮汐模型輸出文件丟失),工作流可能會停止並發送通知。

此外,在生產中,NWP 模型每天運行多次。 要么是因為你有新的觀察數據,要么是新的輸入數據,或者是因為你想運行集成模型等。所以你最終會並行運行多個工作流,工作流管理器負責管理依賴關系,優化使用資源、發送通知等。

循環工作流很復雜,這可能是大多數實現選擇僅支持 DAG 的原因。

如果您想嘗試 Cylc,該團隊一直在努力使其更通用,以便它不僅僅特定於 NWP。 它有一個新的 GUI,輸入格式和文檔在易於使用的情況下進行了改進。

還有其他支持循環工作流的工具,例如StackStormPrefect ,我目前正在檢查Autosubmit是否也支持它。 如果您願意,請查看這些工具。

如果您在生命科學領域,或者對可重現的工作流程感興趣,CWL 標准也有一些關於添加對loops的支持的持續討論,這可以讓您實現類似於您所描述的我認為的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM