2017-09-30 22 views
1

hiffsディレクトリからxmlファイルを読み込み、flowfile属性にデータを抽出するnifiプロセッサを作成したい場合は、2つのnifiプロセッサがこのファイルを取得して読み込み可能な場合がありますデータを書き込むか、何かを書き込むどうすればファイルロックを行うことができますので、一度に1つのプロセッサしか使用できません。私に助けてくれる記事、コード例、または関連する資料をお勧めしますか?私はまだカスタムプロセッサを書いていません。Nifi:カスタムプロセッサを書く方法

答えて

1

ここでは二つの質問があります。

1 - Flowfile属性にXMLを抽出する方法は?

オプション:

SplitXML -> EvaluateXPath (destination flowfile attribute) ->ReplaceText (to use the attributes) 

TransformXML -> SplitJSON-> evaluateJsonPath (destination flowfile attribute) ->ReplaceText (to use the attributes) 

2 - どのようにファイルを一度だけ処理されていることを確認するには? getfile/gethdfs procには、処理中にmove/remove/keepオプションを使用して、[Keep Source File]オプションがあります。あなたはそれがステージング領域に移動し、私はあなたがこのような場合にはカスタムプロセッサを記述する必要がある理由の両方GetHDFSEvaluateXPathプロセッサが存在しているので、わからないと行うことができるはず

2

を処理した後に戻って移動することができます ここで必要な作業。

フローファイルの内容を属性リポジトリに格納し、フローファイルがフローを通過する際に参照ポインタのみが渡されるため、フローファイルの内容を属性に抽出するときは注意が必要です。ただし、属性はフローファイルリポジトリにインラインで格納され、高速取得のためにヒープ領域を占有します。大量のソースデータを取り込み、誤ってヒープにデータブロック全体を入れるのは簡単です。詳細はApache NiFi In Depthを参照してください。

カスタムプロセッサ開発の実行に興味がある場合は、this article by Bryan Bendeをお勧めします。参照されるバージョンは古くなっていますが、記述されたプロセスは非常にうまく機能するはずです。 Apache NiFi Developer Guideは別です。最後に、Apache NiFi Contributor Guideには、チェックスタイルの指示、開発環境の設定に関するヒントなどがあります。

関連する問題