У меня есть код, который читает файлы с 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
, как мне прочитать файл?