У меня есть много zip-файлов, которые нужно обработать библиотекой C++. Поэтому я использую C++ для написания своей потоковой программы для Hadoop. Программа прочитает zip-файл, разархивирует его и обработает извлеченные данные. Моя проблема в том, что:
мой картограф не может получить содержимое ровно одного файла. Обычно получается что-то вроде файлов 2.4 или 3.2. Hadoop отправит несколько файлов моему картографу, но по крайней мере один из файлов будет частичным. Вы знаете, что zip-файлы не могут быть обработаны таким образом. Могу ли я получить ровно один файл на карту? Я не хочу использовать список файлов в качестве входных данных и читать его из своей программы, потому что я хочу иметь преимущество локальности данных.
Я могу принять содержимое нескольких zip-файлов на карту, если Hadoop не разбивает zip-файлы. Я имею в виду именно 1, 2, 3 файла, а не что-то вроде 2,3 файла. На самом деле это будет даже лучше, потому что моей программе нужно загрузить файл данных размером около 800 МБ для обработки разархивированных данных. Можем ли мы это сделать?