У меня есть большое количество входных файлов в проприетарном двоичном формате. Мне нужно превратить их в строки для дальнейшей обработки. Каждый файл должен быть декодирован за один раз внешним двоичным файлом (т. е. файлы не должны объединяться или разделяться).
Варианты, о которых я знаю:
- Принудительная загрузка одного файла, расширение RecordReader, использование DistributedCache для запуска декодера через RecordReader
- Принудительная загрузка одного файла, RecordReader возвращает один файл, используйте потоковую передачу Hadoop для декодирования каждого файла
Однако похоже, что [2] не будет работать, поскольку pig будет объединять записи перед отправкой их оператору STREAM (т. е. будет отправлять несколько записей).
[1] кажется выполнимым, просто немного больше работы.
Есть ли способ лучше?