В настоящее время я использую AWS-EMR в качестве кластера. Для библиотеки я использую каскадирование.
Входные данные хранятся в aws S3 в каталоге. Каталог содержит много файлов, каждый размером около 100 МБ (не сжатый, обычный текст), и количество файлов может легко достигать 100 в день. Имя каждого файла содержит дату. В конце дня я обрабатываю все файлы, созданные в этот день.
В настоящее время мой процесс подачи заявки на Hadoop происходит следующим образом:
- Используйте папку S3 в качестве входного сигнала, используя
GlobHfs
GlobHFS
имеет собственный фильтр, в котором он фильтрует имя файла и принимает только сегодняшний файл.- обрабатывать только отфильтрованные файлы и установить выходной кран на S3.
Мой вопрос:
- Должен ли я использовать сжатие? Если да, то какой тип сжатия мне следует использовать? Я читал, что сжатие .gz делает работу только одним картографом, в моем случае, когда в папке много файлов, это актуально? Должен ли я использовать LZO с каждым файлом?
- Должен ли я хранить файлы большего размера или текущий формат (много файлов меньшего размера) достаточно хорош?