我有一个从 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
如何去阅读文件?