Hadoop и аналитика? - PullRequest
       10

Hadoop и аналитика?

2 голосов
/ 20 ноября 2011

Я нахожусь в процессе создания полного «масштабируемого» решения для предоставления нашим клиентам всесторонней аналитики в реальном времени.

Клиенты в основном имеют до 200 серверов, каждый из которых имеет не более 400 текущих сеансов, что дает 80000 сеансов одновременно. Я хотел бы предоставить аналитику для сессий и использовать инструмент BI, например, Tableau, для предоставления графики и интерфейса запросов (в основном агрегирует запросы).

Я ожидаю, что каждая сессия будет длиться 4 минуты и вызовет около 20 событий в течение 4 минут. Каждое событие может содержать около 5 полей, в основном целые числа. Я бы регистрировал дату начала, дату окончания и, в основном, некоторые счетчики во время сеанса (например, количество кликов). Это около 8000 вставок в секунду.

Я думаю о Hadoop, поскольку RDBMS, очевидно, будет не очень легко масштабировать (будет использовать PostgreSQL, если вы убедите меня, что PostgreSQL может справиться с этой нагрузкой на машине с 5000-8000 $).

Однако я читал, что у Hadoop слишком большая задержка, поскольку он ориентирован на пакетную обработку, поэтому он может не подходить для аналитики. Что ты думаешь?

Какое решение используется отраслью веб-маркетинга для подачи базы данных и запроса к ней?

Спасибо!

Ответы [ 3 ]

4 голосов
/ 21 ноября 2011

Twitter имеет открытый источник Storm , они называют его Hadoop of realtime processing.Вариант использования stream processing и distributed rpc соответствует вышеуказанным требованиям.Обратите внимание, что это не зависит от Hadoop. Здесь - презентация о Storm.Тогда есть HStreaming , который находится на вершине Hadoop, S4 , Streambases .

Обычный Hadoop подходит для пакетной обработки и не для реального временианалитика.Выше приведены некоторые программного обеспечения для аналитики в реальном времени.Некоторые из них находятся на вершине Hadoop (например, HStreaming), а некоторые нет.Некоторые из них бесплатны, а некоторые коммерческие.Существует множество вариантов, основанных на подробном исследовании требований, функциях, поддерживаемых различными программами, и, наконец, подтверждение концепции, поскольку / w может быть завершено.

3 голосов
/ 21 ноября 2011

Действительно, ядро ​​Hadoop ориентировано на пакетную обработку, что делает его более подходящим для периодической отчетности, а не для анализа данных в реальном времени.

Одним из вариантов является использование системы построения графиков и журналов, предназначенной для обработки событий.В этом случае кажется, что инструмент, подобный Graphite , подойдет для ваших нужд.В инженерном блоге Etsy есть запись , в которой описывается, как это можно использовать.

Если вам нравится Hadoop, вы используете что-то, построенное поверх Hadoop, например OpenTSDB, который использует HBase .

0 голосов
/ 01 апреля 2014

Это правда, что hadoop (ну карта уменьшить), если для пакетной обработки.Однако hadoop также является распределенной системой fs.Когда данные в реальном времени поступают в ваш кластер, вы можете заставить рабочие узлы обрабатывать их, когда они становятся доступными.

Например, если вы хотите обновлять некоторую панель мониторинга каждые 5 минут, вы можете настроить демона, который читает из hdfsвсе недавно добавленные файлы журналов с отдельного сервера отслеживания и обновляет хранилище, в которое ваше веб-приложение считывает свои данные.

В конце дня, используя Map Reduce, вы сделаете то же, что и ваш демон,но на этот раз мы используем все файлы дня и все узлы в вашем кластере.

...