Flume-ngのHTTPSourceのカスタムハンドラーを作成するのに役立つリソースはありますか。ドキュメントを読み、Jsonのサンプルハンドラーがありますが、XMLメッセージ本文からFlumeイベントを作成するためのハンドラーを作成する必要があったのではないかと思います。HttpSourceはFlume-ng1.3.1で利用できるようになりましたが、データを解釈するためのハンドラーが必要です。
ありがとう。
Flume-ngのHTTPSourceのカスタムハンドラーを作成するのに役立つリソースはありますか。ドキュメントを読み、Jsonのサンプルハンドラーがありますが、XMLメッセージ本文からFlumeイベントを作成するためのハンドラーを作成する必要があったのではないかと思います。HttpSourceはFlume-ng1.3.1で利用できるようになりましたが、データを解釈するためのハンドラーが必要です。
ありがとう。
JSONHandlerソースを見ましたか?XMLHandlerの唯一の違いは、Gsonの代わりにXMLデシリアライザーを使用することです。
次のようなものを変換する必要があります。
<dataList>
<data>
...
</data>
<data>
...
</data>
</dataList>
List < SimpleEvent >に(または、異なるエンコーディングを処理する必要がある場合は、Flume開発者がJSONEventで行ったように、独自のHTTPEventを導入します)。これらのイベントの本体には、Stringのバイト表現<data>..</data>
としてチャンクが含まれます。
Flumeでこれらのイベントを解析する追加のビジネスロジックを実装することはお勧めしません。ビジネスルールは頻繁に変更される傾向があり、インフラストラクチャソフトウェアとしてのFlumeは安定している必要があるためです。
最後に、コードをjarにパックし、このjarをFlumeのlibディレクトリ(Clouderaのrpmディストリビューションの場合は/ usr / lib / flume-ng / lib)に配置し、HTTPSourceのflume.conf「handler」プロパティで「com」として指定します。 vicky.flume.source.http.XMLHandler "(またはそのようなもの)、エージェントを再起動すればそれだけです。
お役に立てれば。あなたの質問に喜んでお答えします。