0

この問題に直面するのは2回目です(最初はhadoop + mongodbでした)。

基本的に、分割ごとに 1 つのマップがあり (mongo のチャンク、hbase の領域)、すべてのデータがレデューサーに送信されます (シャッフル、ソート、および (オプション) 結合の後)。

デフォルトでは、サーバーごとに 2 つのレデューサー (タスクトラッカー) があり、3 ノードのクラスターがあるため、6 つのレデューサーがあります。

問題はここにあります:私のレデューサーは「戻ります」(context.write())インスタンスをhbaseに置きます(またはBSONWritableをmongodbにします)が、多くの場合、1つのキーが多くのレデューサーによって削減されます。キー A が 6 レデューサーによって削減されたとしましょう。それぞれがプットをhbaseに送り返します(BSONWritable to mongodb)=>部分的な結果しか得られません(おそらく最後に送信されたものですか?)!

何か助けはありますか?さらに情報が必要な場合はお知らせください。

ありがとうございました!

4

0 に答える 0