Я анализирую журналы доступа, сгенерированные Apache, Nginx, Darwin (сервер потокового видео) и собираю статистику для каждого доставленного файла по дате / рефереру / юзерагенту.
Тонны журналов, генерируемых каждый час, и это число, вероятно, будет резко увеличено в ближайшем будущем - поэтому обработка такого рода данных распределенным способом через Amazon Elastic MapReduce звучит разумно.
Прямо сейчас я 'Я был готов с мапперами и редукторами для обработки моих данных и протестировал весь процесс со следующим потоком:
- загрузил мапперы, редукторы и данные в Amazon S3
- настроил соответствующую работу и обработал ее
- успешно загрузил агрегированные результаты из Amazon S3 на мой сервер и вставил их в базу данных MySQL, запустив скрипт CLI
Я сделал это вручную в соответствии с тысячами руководств, которые можно найти на GoogleИнтернет про Amazon ERM.
Что мне делать дальше?Как лучше всего автоматизировать этот процесс?
- Должен ли я управлять Amazon EMR jobTracker через API?
- Как я могу убедиться, что мои журналы не будут обрабатываться дважды?
- Каков наилучший способ перемещения обработанных файлов в архив?
- Каков наилучший подход для вставки результатов в PostgreSQL / MySQL?
- Как следует размещать данные для заданий вкаталоги ввода / вывода?
- Должен ли я каждый раз создавать новое задание EMR с помощью API?
- Каков наилучший подход для загрузки необработанных журналов в Amazon S3?
- МожноКто-нибудь поделится своими настройками потока обработки данных?
- Как контролировать загрузку файлов и выполнение заданий?
Я думаю, что эта тема может быть полезна для многих людей, которые пытаются обработать доступжурналы с Amazon Elastic MapReduce, но не смогли найти хорошие материалы и / или лучшие практики.
UPD: Просто для уточнения здесь единственный заключительный вопрос:
Каковы лучшие практики?советы по обработке логов на основе Amazon Elastic MapReduce?
Похожие записи:
Получение данных из Elastic MapReduce HDFS