Apache Nifiでのフローの合計実行時間を調べる方法を知りたいと思います。 PutEmailで共有できるように、これを行い属性リストに追加する方法はありますか?Apache Nifi合計実行時間
答えて
フローファイルを受け取ったときにカスタムタイムスタンププロパティを追加し、処理の大部分を行い、電子メールに含める経過時間属性を計算する必要があると思います。 2つのUpdateAttributeプロセッサでこれを行うことができます。 UpdateAttribute、は= ${now():toNumber():minus(${received}):format("HH:mm:ss")}
経過
UpdateAttribute、を
(処理を行う)=
${now():toNumber()}
を受信これは、「のような経過時間をフォーマットします00:04:1 6 "(4分、16秒)。あなたはPutEmailメッセージの内容に
${elapsed}
としてこれを使うことができます。しかしこれはちょっと醜いもので、処理時間の近似値しか示していません。 NiFi起源システムは、ファイルがNiFiに入ってからの経過時間を表す「系列の継続時間」を維持します。これははるかに権威のある数字です。しかし、私はあなたが式言語から系統期間を問い合わせることはできないと信じています。源泉データを個別に照会し分析する必要があります。
ジェームズは、上記の優れた説明を提供しました。
${now():toNumber():minus(${lineageStartDate}):format("HH:mm:ss")}
これはリネージュを決定するために使用されるのと同じ値である:1つの注意は、しかし、むしろデータを受信したときのタイムスタンプの属性を追加するよりも、あなたは、単にlineageStartDate
属性を参照することができるということです出身の期間。
上記の@Jamesで提案されているように:(現在の時刻 - 開始時刻)の代わりに、LineageStartDate属性を直接使用して、処理時間を与えることができます。 –
これは '$ {now():toNumber():minus($ {lineageStartDate}):format(" HH:mm:ss ")}'でなければなりません。恐ろしい、私はそれがアクセス可能だったのか分からなかった、+1! – James
うわー、はい、それは '$ {now():toNumber():minus($ {lineageStartDate}):format(" HH:mm:ss ")}です。私のタイプミスに良いキャッチ:) –
- 1. Apacheのイエナクエリ実行時間
- 2. 実行時間計算
- 3. 代替の行間の合計時間
- 4. NiFiのQueryDatabaseTableから実行時間を取得する
- 5. 乱数の合計を使ったマルチスレッド実行時間
- 6. トリガーの制限実行時間の合計Googleサービス
- 7. x^y計算の実行時間
- 8. 休止統計の実行時間は
- 9. 合計時間と時間 - 客観C
- 10. apache-nifiとLDAPの統合エラー
- 11. ListenHttp Apache NIfiジェネリックベースパス
- 12. Apache NIFI for ETL
- 13. Apache Nifi RouteHL7 Issue
- 14. Apache Nifi解凍
- 15. Apache nifi handlehttprequest/response
- 16. 各サンプルの合計実験時間を計算する
- 17. org.apache.nifi.bootstrap.Command Apache NiFiが実行されていません
- 18. はWindows上でApache nifiを実行できません
- 19. Apache Nifiで複数のhive sqlを実行
- 20. 各user_idの合計時間
- 21. PHPでの合計時間
- 22. 合計24時間体制
- 23. 残業時間合計
- 24. nodatime合計時間(分)
- 25. gprofのは合計時間
- 26. パンダの合計時間
- 27. 複数行の時間差を計算して合計する
- 28. 計算各入出庫時間からの合計時間
- 29. 時間を加算して合計時間を計算する
- 30. ガベージコレクションの時間は、Apacheのタスクの実行時間の一部ですか?
ありがとうございました。私はそのアプローチを試み、それは働いた。私はそれで実行時間をキャプチャすることができました。 –