2017-05-03 3 views
0

Apache NiFiまたはStreamsetsで結合できるかどうかを調べようとしていました。私はHBaseから定期的に読み込み、他のテーブルと結合し、Hiveテーブルにいくつかのフィールドを書き込むことができます。HBaseから読み込み、フラットファイルのコンテンツに参加してHiveに書き込むためのNiFiまたはストリームセット

または、この操作をサポートする他のワークフローマネージャツールがありますか?

答えて

3

私はストリームセットに精通していませんが、私はNiFiを手伝っていきます。フラットファイルは静的ですか?もしそうなら、あなたは値の直線的な置き換えをしたいと思っていますか?そのためにプロセッサReplaceTextWithMappingを使用できるはずです。まっすぐに置き換えない場合は、DistributedMapCacheにフラットファイルの値をあらかじめ入力してから、FetchDistributedMapCacheを使用してHBaseレコードを検索します。

他のすべてが失敗した場合は、Groovy、Javascript、Jythonなどのスクリプト言語に慣れている場合は、ExecuteScriptまたはInvokeScriptedProcessorを使用して「結合」部分を記述できます。

CSVファイル、プロパティファイル、およびメモリ内検索をサポートするルックアップ/エンリッチメントプロセッサには、open Jira case(進歩があります)があります。

+0

ありがとう、FetchDistributedMapCacheが私が探しているようです。定期的に行うこともできますか?私は新しい行が移入され続けているテーブルを持っていると私は前の時間データ(他の静的テーブルの結合で)の1時間ごとに1回集計したい。だから、NiFiは、どの時間がすでに集計されているのか、そして残りの時間に選ばれる必要があるのか​​を覚えていますか?また、集計ではSUM/AVGが数列になります。 –

+0

集計はしません。キャッシュはルックアップのためだけです。今後のNiFi 1.2.0リリースでは、UpdateAttributeを使用して、 – mattyb