我想知道如何找出/捕獲Apache Nifi中任何流的總執行時間。有沒有辦法做到這一點,並將其添加到屬性列表,以便可以通過PutEmail共享相同的內容?apache nifi總執行時間
回答
我相信你將不得不添加一個自定義時間戳屬性,當收到流文件,做大量的處理,然後計算一個經過時間屬性,包括在電子郵件中。您可以使用兩個UpdateAttribute處理器執行此操作。
UpdateAttribute,接收 =
${now():toNumber()}
(做處理)
UpdateAttribute,經過 =
${now():toNumber():minus(${received}):format("HH:mm:ss")}
這將格式化等的經過時間「 00:04:1 6「(4分16秒)。您可以在PutEmail郵件內容中將此用作${elapsed}
。
但是,這有點難看,只給出了處理時間的近似值。 NiFi出處系統維護「血統持續時間」,它描述自從文件進入NiFi以來流逝的時間。這是一個更具權威性的數字。但我不相信你可以從表達式語言查詢血統持續時間。您將不得不分別查詢和分析起源數據。
詹姆斯提供上述優異的解釋。另外也請注意,不過,是不是增加了接收數據時的時間戳的屬性,你可以簡單地引用lineageStartDate
屬性:
${now():toNumber():minus(${lineageStartDate}):format("HH:mm:ss")}
這是用來確定譜系相同的值出處的持續時間。
爲了清楚起見,你的意思是說,而不是按照上面的@James所建議的那樣:(當前時間 - 開始時間),我可以直接使用LineageStartDate屬性,它會給我這個過程的持續時間? –
應該是'$ {now():toNumber():minus($ {lineageStartDate}):format(「HH:mm:ss」)}'?太棒了,我不知道那是無障礙的,+1! – James
對不起 - 是的,應該是'$ {now():toNumber():minus($ {lineageStartDate}):format(「HH:mm:ss」)}'。對我的錯字好:) –
- 1. Apache NIFI「執行處理器」
- 2. Apache Nifi GetTwitter
- 3. 如何使用InvokeHTTP從Apache Nifi執行ElasticSearch agg查詢?
- 4. apache nifi - 如何執行一個接一個的進程組
- 5. Apache NiFi無法連接到「localhost:8080/nifi」
- 6. Apache NIFI雙向TCP
- 7. Apache Nifi解壓縮
- 8. Apache nifi未啓動
- 9. Airbnb Airflow vs Apache Nifi
- 10. Apache Nifi RouteHL7問題
- 11. QNX上的Apache Nifi
- 12. 無法在Windows上運行Apache nifi
- 13. Apache nifi Rest Api問題
- 14. Apache NiFi優化問題
- 15. Apache NiFi LDAPS配置問題
- 16. PutHDFS on Apache NiFi錯誤
- 17. Apache Nifi ExecuteSQL處理器
- 18. Apache Nifi SOCKS代理設置
- 19. 關於Apache的nifi - Distrubuted Cache
- 20. 針對ETL的Apache NIFI
- 21. Apache Nifi Twitter連接問題
- 22. Apache Nifi追加函數
- 23. NiFi使用Groovy執行腳本:java.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver
- 24. PHP最大執行時間
- 25. 捕獲並行線程的總執行時間
- 26. 任務執行時間高於定時器執行時間
- 27. JS執行時間
- 28. button.onclick執行時間
- 29. Mfile執行時間
- 30. mysql執行時間
謝謝。我嘗試了這種方法,它工作。我能夠用它捕捉執行時間。 –