TEZ mapreduce ジョブで奇妙な動作が発生します。
Hive からログ データを読み取り、ID、日付、その他のパラメーターでいくつかのチャンクに分割してから、別の Hive テーブルに書き込もうとしています。
マップ フェーズは十分に速く動作し、レデューサーが動作を開始し、458 のレデューサーから 453 のレデューサーが次の 20 分以内にすべてのデータを処理するまでに約 20 分かかります。ただし、最後の 5 つのレデューサーは約 1 時間動作します。
これは、入力データに巨大なエントリが含まれており、これらのエントリの処理に時間がかかるために発生します。そのような場合のベストプラクティスは何ですか? 最後のレデューサーの一種の並列処理を可能にするために、hadoop/tez/hive のチューニングを行う必要がありますか?それとも、入力データを他のパラメーターで分割して巨大なエントリを回避する方が賢明でしょうか?
アドバイスをありがとう。