Я новичок в карте уменьшить. У меня есть ведро s3, которое получает 3000 файлов каждую минуту. Я пытаюсь использовать Map Reduce для объединения этих файлов, чтобы сделать файл размером 10 -100 МБ. Код python будет использовать Mrjob и будет работать на aws EMR. Документация Mrjob гласит, что mapper_raw может использоваться для передачи целых файлов в маппер.
class MRCrawler (MRJob):
def mapper_raw(self, wet_path, wet_uri):
from warcio.archiveiterator import ArchiveIterator
with open(wet_path, 'rb') as f:
for record in ArchiveIterator(f):
...
Есть ли способ ограничить его чтением только 5000 файлов в запустите один и удалите эти файлы после того, как редуктор сохранит результаты на S3, чтобы те же файлы не были выбраны при следующем запуске.