MergeRecord 2025.5.31.15¶
バンドル¶
org.apache.nifi | nifi-standard-nar
説明¶
このプロセッサーは、複数の記録指向の FlowFiles を、入力 FlowFiles のすべての記録を含む単一の FlowFile にマージします。このプロセッサーは「ビン」を作成し、そのビンがいっぱいになるまで FlowFiles を追加することで動作します。ビンが一杯になると、すべての FlowFiles が1つの出力 FlowFile にまとめられ、その FlowFile は「マージされた」リレーションシップにルーティングされます。ビンは、潜在的に多くの「FlowFiles」のようなものから構成されます。2つの FlowFiles が「同じような FlowFiles」とみなされるためには、(Record Readerによって識別子として)同じスキーマを持ち、<Correlation Attribute Name> プロパティがセットされている場合、指定された属性の値が同じでなければなりません。詳細情報については、「プロセッサーの使用状況」と「その他の詳細」を参照してください。NOTE: このプロセッサーは Cron Driven で構成されてはいけません NOT。
入力要件¶
REQUIRED
機密動的プロパティをサポート¶
false
プロパティ¶
プロパティ |
説明 |
---|---|
属性戦略 |
どの FlowFile 属性をバンドルに追加するかを決定します。「Keep All Unique Attributes」が選択されている場合、バンドルされる FlowFile の属性は、その値が他の FlowFile の値と競合しない限り保持されます。「Keep Only Common Attributes」を選択すると、バンドル内のすべての FlowFiles に同じ値で存在する属性だけが保存されます。 |
correlation-attribute-name |
指定された場合、2つの FlowFiles は、この属性に同じ値がある場合のみ、一緒にビニングされます。指定がない場合、 FlowFiles はキューから引き出された順にバンドルされます。 |
max-bin-age |
ビンが完了するトリガーとなる、ビンの最大年齢。期待される形式は<duration> <time unit> であり、<duration> は正の整数、time unit は秒、分、時間のいずれかです。 |
max-bin-size |
バンドルの最大サイズ。指定がない場合、最大値はありません。これは「ソフトリミット」であり、 FlowFile がビンに追加されると、その FlowFile のすべての記録が追加されるため、このリミットを超える可能性があるのは、最後に入力された FlowFile のバイト数までです。 |
max-records |
ビンに含める記録の最大数。これは「ソフトリミット」であり、 FlowFIle がビンに追加されると、その FlowFile のすべての記録が追加されるため、最後に入力された FlowFile の記録数まで、この制限を超える可能性があります。 |
max.bin.count |
一度にメモリに保持できるビンの最大数を指定します。この数は、このプロセッサーの最大同時スレッド数より小さくてはならない。さもないと、 作成されるビンは、多くの場合、単一の着信 FlowFile のみになります。 |
merge-strategy |
記録のマージに使用するアルゴリズムを指定します。「Defragment」アルゴリズムは、属性によって関連づけられたフラグメントを1つのまとまった FlowFile に戻します。「Bin-Packing Algorithm」は、任意に選ばれた FlowFiles に自動入力された FlowFile を生成します。 |
min-bin-size |
ビンの最小サイズ |
min-records |
ビンに含める最小記録数 |
record-reader |
受信データの読み取りに使用するController Serviceを指定します。 |
record-writer |
記録の書き出しに使用するController Serviceを指定します。 |
リレーションシップ¶
名前 |
説明 |
---|---|
failure |
バンドルが作成できない場合、バンドル作成に使用されるはずだったすべての FlowFiles、失敗に転送されます。 |
merged |
マージされた記録を含む FlowFile |
original |
バンドル作成に使用された FlowFiles |
属性の書き込み¶
名前 |
説明 |
---|---|
record.count |
マージされた FlowFile は、 FlowFile に書き込まれた記録数を示す「record.count」属性を持つことになります。 |
mime.type |
Record Writerが示す MIME タイプ |
merge.count |
このバンドルにマージされた FlowFiles の数。 |
merge.bin.age |
マージされて出力されたときのビンの年齢(ミリ秒単位)。実質的にこれは、このバンドル内のどの FlowFile も、出力されるまでにこのプロセッサーで待機していた最大の時間です。 |
merge.uuid |
元の FlowFile 属性に追加されるマージされた FlowFiles の UUID |
merge.completion.reason |
このプロセッサーでは、 FlowFiles をマージするために、いくつかの閾値を構成することができます。この属性は、どのThresholdsがマージされた FlowFiles かを示します。使用可能な各値とその意味については、プロセッサーの使用法 / ドキュメントを参照し、「Additional Details」ページを参照してください。 |
<Record Writerからの属性> |
構成されたRecord Writerが返す属性はすべて、 FlowFile に追加されます。 |
ユースケース¶
複数の任意の記録を組み合わせて、1つの大きなファイルを作成します。 |
他のコンポーネントを含むユースケース¶
データファイルの特定のフィールドに同じ値を持つ多くの記録を結合して、1つの大きなファイルを作成します。 |