2016-05-31 5 views
0

ファイルが名前ノードによってブロックに分割され、HDFSに格納されていることを知っています。しかし、ファイルが分割されると、ブロックに行の一部が含まれる可能性があります。私の理解は正しいのですか?だから、もし私が各行を読み込む必要があるマップ操作があれば、私はマッパーで処理する行の一部が欠けてしまいます。Namenodeファイルをブロックに分割する

ありがとうございます!

答えて

0

はい、行が2つのブロックに分割されている可能性があります。ブロックの最後のマッパーが使用するリーダーは、次のブロックの最初の行を読み取り、処理します。最初のブロックでない場合、リーダーは常に最初の行をスキップします。少なくともテキストファイルの場合。他のフォーマットは異なった働きをします。あなたがRojoSamの答え@に加えてライン

1

のどの部分を見逃すことはありません

SPLIT_SLOPパラメータは、他のブロックからの単一ファイルのデータを読み取るためにRecordReaderによって使用されます。 SPLIT_SLOPは、データが単一のデータノードで完全に利用可能でない場合、リモートホストから%ofのデータを読み取るhadoopジョブを行います。

関連する問題