Получение информации из агрегированных данных блогов, как это сделать?

Я хотел бы знать, как получить данные из агрегированных журналов? Вот что у меня есть:
- около 30 ГБ несжатых данных журнала ежедневно загружаются в HDFS (и скоро этот объем вырастет примерно до 100 ГБ)
Это моя идея:
- каждую ночь эти данные обрабатываются с помощью Pig
- журналы считываются, разбиваются, и пользовательская UDF извлекает данные, такие как: timestamp, url, user_id (допустим, это все, что мне нужно)
- из записи журнала и загружает ее в HBase (данные журнала будут хранится бесконечно)

Затем, если я хочу знать, какие пользователи видели конкретную страницу в течение заданного периода времени, я могу быстро запросить HBase, не сканируя все данные журнала с каждым запросом (и мне нужны быстрые ответы - минуты приемлемы). И одновременно будет выполняться несколько запросов.

Что вы думаете об этом рабочем процессе? Как вы думаете, есть ли смысл загружать эту информацию в HBase? Какие есть другие варианты и как они соотносятся с моим решением? Я ценю все комментарии/вопросы и ответы. Заранее спасибо.


person wlk    schedule 28.07.2010    source источник


Ответы (1)


С Hadoop вы всегда делаете одну из двух вещей (обработку или запрос).

Для того, что вы хотите сделать, я бы предложил использовать HIVE http://hadoop.apache.org/hive/ . Вы можете взять свои данные, а затем создать задание M/R для обработки и отправки этих данных так, как вам нравится, в таблицы HIVE. Оттуда (вы даже можете разделить данные, поскольку для скорости может быть целесообразно не смотреть на данные, которые не требуются, как вы говорите). Отсюда вы можете запросить результаты ваших данных, как вам нравится. Вот очень хороший онлайн-учебник http://www.cloudera.com/videos/hive_tutorial.

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

Вы также можете изучить FLUME, который является новым сервером импорта от Cloudera. Он доставит ваши файлы откуда-то прямо в HDFS http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/

person Joe Stein    schedule 29.07.2010
comment
Я знаком с Hive и использовал его для запросов, но он определенно слишком медленный. Анализ журналов за месяц (до 3 ТБ) займет около 2-3 часов на моем текущем оборудовании, и я хочу получить результаты в считанные минуты (максимум 10 минут). Сейчас я использую Hive или Pig для выполнения специальных запросов (поскольку у меня нет ничего другого), но я ищу другие решения или идеи. - person wlk; 29.07.2010