blog

卵が体を支えている:MapReduce行列分析

2つの卵:柔らかさは同じだが硬さは未知の2つの卵、2つとも1階で割れるかもしれないし、100階建てのビルから落ちても大丈夫かもしれません。100階建てのビルがあり、あなたは2つの卵を使って、卵を安全に...

Jul 11, 2025 · 4 min. read
シェア

つの卵:同じ柔らかさで硬さがわからない2つの卵、2つとも1階で割れるかもしれないし、100階から落ちても大丈夫かもしれません。100階建てのビルがあり、2つの卵を使って、卵を安全に落とせる最も高い場所がどの階かを最少回数で判定してください。つの卵を割ることは可能です。

MapReduce行列の分析

問題

ある点の値が、その点の周りのいくつかの点の値によって決定される場合、例えば、次の瞬間の値が、現在の瞬間の8つの隣接点の平均である場合、非常に大きな2D行列をMapReduceで実装するにはどうすればよいでしょうか?

分析

まず、WordCountを例にしてMapReduceの仕組みを説明しましょう。

生の状態、入力 - マップ - シャッフル - リデュース - 出力

WorkCountプログラムを実行するために、以下の2つのテキストファイルがあるとします:

Hello World Bye World     
Hello Hadoop GoodBye Hadoop 

マップデータの入力

Hadoopは、デフォルトでテキストファイルのLineRecordReaderクラスを使用して、読み取り、キー/値のペアの行を達成するために、オフセットを取るには、キー、行の内容の値。

以下はmap1の入力データです:

Key1      Value1 
0         Hello World Bye World 

以下はmap2の入力データです:

Key1       Value1 
0          Hello Hadoop GoodBye Hadoop 

マップ出力/コンバイン入力

以下はmap1の出力です。

Key2        Value2 
Hello        1 
World        1 
Bye          1 
World        1 

以下はmap2の出力です。

Key2        Value2 
Hello          1 
Hadoop         1 
GoodBye        1 
Hadoop         1 

combine output Combiner クラスは、同じキーを持つ値の結合を実装しており、Reducer の実装でもあります。

以下はcombine1の出力です。

Key2         Value2 
Hello            1 
World            2 
Bye              1 

以下はcombine2の出力です。

Key2          Value2 
Hello            1 
Hadoop           2 
GoodBye          1 

combinerは、ビジネスケースに応じて使用するには、MAP - > REDUCEのデータ転送を削減し、シャッフルの速度を向上させる、つまり、マップで、その後、操作を削減します。combinerは適切に使用すると、ジョブの速度を向上させるためにビジネスケースを満たすことができる、そうでない場合は、結果の出力につながるが正しくありません。

wordcountの場合、値はスタックされた数字なので、すべてのマップが終わるまでreduceの値をオーバーレイするのを待つのではなく、マップが終わったらすぐにreduceの値をオーバーレイすることができます。

出力の削減

Reducer クラスは、同じキーの値を結合する機能を実装しています。

以下はreduceの出力です。

Key2               Value2 
Hello                2 
World                2 
Bye                  1 
Hadoop               2 
GoodBye              1 

つまり、WordCount処理を実装しています。

以下は公式のフローチャートです:

この基本を念頭に置いて、上記の問題を解決するためにMapReduceをどのように使えるか見てみましょう。

以下のラベル付きペアがマップのキーとして使用され、遭遇、生成、など、その後、同じキーが削減時にマージされ、値が計算されます。

MapReduceの仕組みを理解すれば、簡単ではないでしょうか?

Read next

BingでWindows 8.1が無料で手に入る?

今日、Microsoft News Breaking Newsの専門家は、その情報源を通じて、「Windows 8.1 with Bing」はMicrosoftによる実験的プロジェクトであることを学んだと言います。そのSKUはWindows 8.1の他のバージョンと比べるとほんの少ししか違わないとのこと。もしかしたら、人々はBingの広告や特典を通じて、Windowsオペレーティングシステムの無料フルバージョンを手に入れることができるかもしれません。

Jul 11, 2025 · 1 min read