2016-09-15 12 views
2

何か処理が完了したことを知るために、NiFiに同期メカニズムがありますか?Nifi-1.0.0 - 同期メカニズム

Iは、いくつかのデータを取り込む何らかの処理を行うステップでN-1は、私はすべてのデータ(最終)ステップNに

[GETFILE/1000 000ラインを進行するために処理されたことを知りたいです] ----> [Proc1 /プロセスステップ0] ----- [Proc2 /プロセスステップ1] .... [PutSQL/dbに挿入] ---> [Procは、すべてのデータをテーブルに挿入しました] ----> [データのProcN/Run集計]

答えて

3

NiFiには明示的な同期機能はフレームワークに組み込まれていませんが、アクティビティを同期させる。私はあなたの流れを動作させるためにいくつかの可能な方法を考えることができます。

  • スケジュール - あなたは操作が継続中で比較的予測可能であると仮定し、GETFILEおよびプロセッサ上のcronスケジュールを使用して、後で集計操作をスケジュールすることができます。

  • MonitorActivity - MonitorActivityプロセッサは、キュー内の非アクティブに基づいてフローファイルをトリガーできます。挿入を停止して集約を開始する必要がある場合、PutSQLのこの下流を使用してトリガすることができます。

  • MergeContent(シンプル)からMergeContentプロセッサ集約操作をトリガする単一のメッセージにPutSQLの結果を集計することがあります。これを正しく動作させるには、ビンサイズと年齢のプロパティを試してみる必要があります。

  • MergeContent(デフラグ)からMergeContentは一緒になって、より大きなファイルの断片を相関させるために設計されたデフラグ戦略を有しています。フローファイルに特定の属性を設定する必要があります。ドキュメントの下部にある「属性の読み取り」を参照してください。その振る舞いはあなたが望むものに近いようですが、それらのフラグメント属性を設定するのは難しいかもしれません。

+0

私は実際に私が思っていたものを達成するために、MergeContent(デフラグ)の振る舞いを拡張しましたが、これを行うには良い方法があれば、私は興味がありました。 MonitorActivityは興味深いようですが、私はそれを調べます。 ありがとう! – bsd

関連する問題