3 桁の GB または 1 桁または 2 桁の TB の大きさのデータ セットがあります。したがって、入力ファイルはファイルのリストであり、それぞれのサイズは 10GB 程度です。私の Hadoop での map reduce ジョブは、これらすべてのファイルを処理し、1 つの出力ファイル (集約された情報を含む) のみを提供します。
私の質問は次のとおりです。
Hadoop/mapreduce フレームワークを Apache からチューニングするための適切なファイル サイズはどれくらいですか? 小さいファイルサイズよりも大きいファイルサイズの方が好まれると聞きました。アイデアはありますか?私が確かに知っている唯一のことは、hadoop がデフォルトでそれぞれ 64MB のブロックを読み取るということです。したがって、ファイル サイズが 64 MB の乗数のようなものであるとよいでしょう。
現時点では、アプリケーションは出力ファイルを 1 つのファイルにのみ書き込んでいます。ファイルサイズはもちろん3桁のギガビットです。ファイルをどれだけ効率的に分割できるか疑問に思っています。もちろん、この仕事をするためにいくつかの UNIX ツールを使用することもできます。しかし、hadoop で直接これを行う方が好ましいのでしょうか?
コメントありがとうございます!
PS: ファイルを圧縮していません。入力ファイルのファイル形式は text/csv です。