FTP サーバーからファイルを読み取って に書き込むコードがありますHDFS
。入力のプロパティを としてInputFormatReader
設定するカスタマイズを実装しましたが、これにより次のエラーが発生します。isSplitable
false
INFO mapred.MapTask: Record too large for in-memory buffer
データの読み取りに使用するコードは
Path file = fileSplit.getPath();
FileSystem fs = file.getFileSystem(conf);
FSDataInputStream in = null;
try {
in = fs.open(file);
IOUtils.readFully(in, contents, 0, contents.length);
value.set(contents, 0, contents.length);
}
java heap space error
入力ファイルを分割せずに回避する方法はありますか? またはisSplitable
true
、ファイルを読み取るにはどうすればよいですか?