良いプログラム - 17mapreduceは、全体のプロセスを実行します

 3つのビッグ思考をするのMapReduce

最後に、データを読む読み取る方法ですか?
舞台マップ:xmlファイル(ノード)、または他の文書が、それは、別のテキストファイルがそれを処理した場合、それは今テキストファイルで、どのようにデータを読み取るために、またはストリーミングデータは、それをファイル圧縮し、ターンそれ以上のコードファイル、ファイル形式は確かに多くのがありますが、最終的にはそれに対処する方法であることを、単なるテキストファイル1することはできませんか?
----------------------------------
エンドでの出力結果は、それがどのようにあるのですか?
相を削減:最終的な連番ファイルを減らすために複数の出力に、対応する複数のデータを減らすことができ、一部-R-0000 ...部分 -r-000 *は、減少させる1に場合にのみつの出力、それは、複数のファイルを設定する際には、これらの文書を定期的に、なぜ出力のようですか?なぜ、出力ファイルの法則そう?出力ファイルは、他の記憶媒体に行うエクスポートすることはできませんか?
各単語の累積数の後、直接context.write後の累積書き込みは、データは内部のそれの行く、といくつかのファイルに分割も、削減の数を設定する方法ですか?なぜそれが複数のファイルに分割しますか?その内部文書を取り壊し、それを処理する方法ですか?なぜ物事に解体同じことはありませんか?そして、その内部およびソートそれは、それを注文しましたか?
-----------------------------
ソートそれを分割する方法?
クラスをマッピングし、クラスを減らす理由クラスタ上のプログラムは、地図、外出先からのデータは、それを減らすために、任意の接触を持っていないようですか?出力非常に多くの文書は、どのようにデータを出力することができるが、それを軽減するためのポイントをマップ?どのような法律が分割されますか?質問のソートは、ソートの際に真ん中に何をすることもあるのでしょうか?

MapReduceの実装プロセス、収集したデータキャッシュ内の、問題はキャッシュに何をしたのですか?パーティションの操作を行い、それが何を注文し、パーティションを何原則に従って、ソートを行いますか?なぜ再び呼び出したグループと同じK、?キャッシュ内部のデータ、およびので、それぞれが削減持っていること、ではない分布は、それぞれのデータは確かに一定の規則に従ってデータを配信します持って減らすことは不可能であれば、データ(各削減へのデータの各部分を配布しましたデータ、異なるゾーンに分割されたデータは、データを削減異なるパーティションをとり、第1タスク選択した文書の第1、第2番2タスク選択したファイル...)
を押し辞書ファイルの内容の内部があります、パーティションに対応する各タスクを減らし、各マップの最後の出力の順序は、確かにデータの並べ替えは、速度が速い、キャッシュにソートされ、プラス様々に配布発注パーティションは、削減しますこのプロセスの過程の途中の間、順序は出力のうち、オフセットの順で、ファイルになりますライセンシングプロセスであり、

ブロックは、物理的に異なる場所に格納された異なる部分に分離されます

断片化は、各位置が異なるが、データシートは、プロセスにおいてmaptaskているだけな位置決めを行うための時間を読み取り、データ、データまたは完全なファイルの範囲です。しかし、言葉でちょうど128M場合、それの真ん中を分割対処する方法ですか?どのようにそれを読むには?これは、ラインによる読み出し行、各行のキャリッジリターンです。 
 

詳細フラグメント

全体のプロセスを実行します

个人理解的读书写字场景:首先要有一本书(就是文件),需要人来读,就要去找一个人来读(就是CreateRecordReader),人来读书了,是一行行的方式去看下去的(就是LineRecodeReader),准备开始读第一行的文字了(就是nextkeyvalue),当读取第一个字的时候(就是getcurrentKey,getcurrentValue) 。读取的文字就会进入到大脑(就是context.write(k2,v2)),大脑就会不断的记录读取的信息,比如进入左脑(是数据区)右脑(是保留区),当读取很多数据的时候,大脑会有种累的感觉(就当做是溢出了),这时候读者的大脑要快速对刚度过的信息进行分析归并排序(就是归并排序),排完序后,(就是map阶段结束),读者再次对整理完的信息再次理解与整理,方便记忆(就是reduce的归并排序),这个时候就开始累积刚刚读的那个字和那个字是相同的,整合为一组,知道将不同的键值对统计出来(就是reduce过程),知道结果了,要准备写到纸上吧的动作吧(就是TextOutputFormat),写当然要读者写了(createRecordWriter),是一行一行的方法写出来的(LineRecordWriter) 最后写到纸上呈现了出来。

 

mr的运行概略

groupingcomparator的过程

 

分片的细节--冗余

 

 

 

 

 

发布了204 篇原创文章 · 获赞 16 · 访问量 19万+

おすすめ

転載: blog.csdn.net/penghao_1/article/details/104433407