2

センサー ネットワークのデータから次の処理を行うカスケード 1.2 プログラムを作成しました。

  1. ミリ秒のタイムスタンプ、イベント タイプ (センサー データ、バッテリー レベル、センサー電源状態のいずれか)、イベント本文の 3 つの列を持つ CSV ファイルを読み取る
  2. ミリ秒のタイムスタンプを最も近い秒に切り上げ、この値で GroupBy
  3. イベント タイプの GroupBy
  4. 次のテンプレートを使用して、出力を templatetap に書き出します: "{rounded timestamp}/{event type}/"

ログ データの量が少ない場合(~300MB)、私のプログラムは正常に動作しますが、EMR クラスター上のセンサー ネットワークによって生成された実際のログ データの量 (~200GB/日) でプログラムを実行すると、リデューサーが失敗し続けます。次のメッセージが表示されます。殺す!

テンプレート タップでテンプレートを静的にすると ("{rounded timestamp}/{event type}/" ではなく "output" のように)、ジョブは問題なく 3 時間で完了します

したがって、問題はテンプレートのタップにあるようです!

おそらく、非常に多くの動的パスを処理できないのでしょうか? (しかし、私の理解では、デフォルトのパラメーターを使用して、いつでも最大 300 個のそれらを開いたりアクティブにしたりできますか?)

パス テンプレート自体を除いて、テンプレート タップにパラメーターを渡さなかったので、他のすべてのパラメーターは既定値になっています。

「{rounded timestamp}/{event type}/」テンプレートでジョブを機能させるにはどうすればよいですか?

4

0 に答える 0