2017-05-08 18 views
0

私はシーケンシャルファイルの行数をとる次のジョブを持っています。たとえば、複数のノードで実行している場合、4つの異なる行数が取得されています。どのように私は行のカウントと1つの行を出力するつもりです。アグリゲーターステージが間違った行数を出力しています

ソース - >トランス(これはカウントのためにダミー行を有する) - >アグリゲータステージ - >シーケンシャル・ファイル

任意の助けを大幅に高く評価されるだろう!ありがとう!

+0

アグリゲータステージにはグループ化のキー列が必要です。パーティションタイプがautoのままになっている場合、これらのキー列でデータの分割が行われます。したがって、問題は複数のノードのためではありません。あなたの声明から、私はそのダミー行をキーとして使うと思います。ダミー行がすべての行で同じ値を持つことを確認してください。その後、すべての行だけが同じパーティションに移動し、行数が合計で1行になります。 – adhithiyan

答えて

0

アグリゲータステージ(ステージアドバンスタブ)の実行モードをシーケンシャルに設定できます。ジョブが大量のデータを処理していない場合、パフォーマンスが低下することはほとんどありません。大きなボリュームを処理する場合は、アグリゲータをParallelのままにしてから別のアグリゲータを追加し、THATをシーケンシャルに設定するのが適切です。

関連する問題