2015-08-05 3 views
1

У меня вопрос о реализации hadoop в одном из моих проектов. В основном требование состоит в том, что мы ежедневно получаем buch журналов, содержащих информацию о видео (когда он был воспроизведен, когда он остановился, какой пользователь играет его и т. Д.).Использование hadoop для анализа данных

Нам необходимо проанализировать эти файлы и вернуть данные статистики в ответ на запрос HTTP. Пример запроса: http://somesite/requestData?startDate=someDate&endDate=anotherDate. В основном этот запрос запрашивает количество всех видеороликов, воспроизводимых между диапазоном дат.

Мой вопрос в том, можем ли мы использовать hadoop для решения этой проблемы?

Я читал в различных статьях hadoop не в режиме реального времени. Итак, чтобы подойти к этому сценарию, я должен использовать hadoop в сочетании с MySQL?

Что я думал о том, чтобы написать картографическую/уменьшающую работу и хранить счетчик для каждого видео за каждый день в mysql. Работу hadoop можно планировать как один раз в день. Затем данные Mysql могут использоваться для обслуживания запроса в режиме реального времени.

Правильно ли этот подход? Куст полезен в этом каким-либо образом? Просьба дать некоторые рекомендации по этому вопросу.

ответ

0

Да, ваш подход верен - вы можете создавать данные за день с помощью задания MR или Hive и хранить их в MySQL для работы в реальном времени.

Однако новые версии Hive при настройке с Tez могут обеспечить достойную производительность запросов. Вы можете попытаться сохранить ваши данные за день в Hive, чтобы они могли их обслуживать прямо оттуда. Если запрос является простым выбором, он должен быть достаточно быстрым.

0

Решение, использующее Hadoop - это инвестиции, так как вам понадобятся кластеры и разработка/операционные усилия.

Для решения проблемы с Hadoop ваши данные должны быть big. Большой, как и в терабайтах данных, приходит очень быстро, возможно, без правильной информации каталога. Если вы можете хранить/обрабатывать свои данные в текущей среде, запустите там свой анализ.

Предполагая, что ваша цель не является образовательной, я настоятельно рекомендую вам пересмотреть свой выбор Hadoop. Если у вас нет реальных больших данных, это будет стоить вам больше усилий.

С другой стороны, если вам действительно нужно распределенное решение, я думаю, что ваш подход к ежедневным тиражам правильный, согласитесь, что есть лучшие альтернативы написанию задания Map/Reduce, например, Hive, Pig или Spark.