0

達人!

長い間、次の質問に対する答えが見つかりませんでした:書き込み中にhadoopが大きなファイルを分割する方法。例:1)ブロックサイズ64 Mb 2)ファイルサイズ128 Mb(フラットファイル、テキストを含む)。

私がファイルを書くとき、それは2つの部分(ファイルサイズ/ブロックサイズ)に分割されます。しかし... Block1に続く発生 は...word300word301woで終了し ブロック2はrd302word303で開始する 可能があります...書き込みケースは

ブロック1は...word300word301で終了し、ブロック2はword302 **word303..で開始します。

または、Hadoop分割アルゴリズムについて書く場所にリンクできますか。

前もって感謝します!

4

2 に答える 2

0

ファイルはバイトに基づいて任意に分割されます。woしたがって、おそらくとのようなものに分割されますrd302

これは、通常心配しなければならない問題ではなく、システムの設計方法です。MapReduceジョブのInputFormatRecordReader部分は、レコード境界間で分割されたレコードを処理します。

于 2012-06-18T16:49:47.447 に答える
0

このWikiページを見ると、hadoopはInputFormat分割境界を越えてFileSplitの最後の行を読み取り、最初のFileSplit以外を読み取る場合、最初の改行までのコンテンツを無視します。

于 2012-06-18T17:53:47.503 に答える