このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
メモリに収まらないデータセットを解析するプログラミング手法
mapreduce
アルゴリズムをデバッグする場合,キーと値のペアが異なるフェーズでどのように移動するかを確認するのは有益なことです。データの移動を確認するには,地图関数と减少関数内にブレークポイントを設定します。ブレークポイントはmapreduce
の実行を停止して,KeyValueStore
またはValueIterator
のような関連する変数の現在の状態を確認できるようにします。詳細については,MapReduceアルゴリズムのデバッグを参照してください。
任意のプラットフォーム上でmapreduce
のパフォーマンスを最適化するには,以下の推奨事項を実装してください。
地图関数への呼び出し回数を最小限に抑えます。一番簡単な方法は,入力データストアのReadSize
プロパティの値を大きくすることです。その結果,mapreduce
が地图関数に渡すデータのブロックサイズが大きくなり,データストアの最後に到達するまでの読み取り回数が少なくなります。
地图関数と减少関数の間で受け渡される中間データの量を減らします。たとえば,地图関数内に独特的
を使用して,類似したキーを組み合わせることができます。この手法の例は,MapReduceを使用するグループごとの平均の計算を参照してください。