В общем случае — потому что у нас уже была некоторая экспертиза в Spark Streaming, а эта задача — отличный повод протестировать новый инструмент. :-)
Ну и основная направленность Streaming — возможность проведения аналитики с использованием оконных функций, в данном случае эта возможность оказалась бы избыточна, т.к. требовалась только быстрая фильтрация транзакций.
Основная цель использования Apache Storm — реалтайм фильтрация и обогащение транзакционных данных из источника.
Данные передаются потоком с помощью Apache Kafka, на кластере непрерывно работает Storm-задача, которая анализирует этот поток, фильтрует транзакции из потока по определенным критериям и сохраняет нужные в in-memory key/value хранилище Redis.
Эти вопросы будут подробнее рассмотрены в наших следующих статьях.
что за модель обучаете и на каких данных
Это зависит от конкретной задачи. В продуктивных задачах используются алгоритмы
— байесовский классификатор
— логрегрессия
— метод опорных векторов
Основная область применения этих алгоритмов — прогнозная аналитика на основе транзакционных данных абонентов.
Общее описание алгоритма поиска людей, посещающих зону вылета в аэропортах Москвы:
1) Ограничивается область покрытия сотовых вышек в зонах вылета/прилёта в аэропортах.
2) Формируется список абонентов во временном интервале, соответствующем времени рейса, у которых была любая сетевая активность (звонки / смс / интернет-трафик) в зоне действия вышек из п. 1.
3) Из списка из п. 2 выбираются
— абоненты, у которых в искомом временном интервале произошло событие включения/выключения телефона (потенциальные пассажиры самолета),
— абоненты, которые в течение месяца проводят более 20 часов в зоне действия вышек из п.1 (предположительно, продавцы),
— абоненты, у которых есть транзакции в этот же день в области действия вышек Москвы (предположительно, встречающие / провожающие).
Статья о нашем первом опыте знакомства с BigData и Hadoop-технологиями. Она открывает цикл статей о применении Hadoop для решения разнородных практических задач. Мы занимаемся разработкой под Hadoop уже более 2 лет и хотели бы поделиться своей экспертизой.
Ну и основная направленность Streaming — возможность проведения аналитики с использованием оконных функций, в данном случае эта возможность оказалась бы избыточна, т.к. требовалась только быстрая фильтрация транзакций.
Данные передаются потоком с помощью Apache Kafka, на кластере непрерывно работает Storm-задача, которая анализирует этот поток, фильтрует транзакции из потока по определенным критериям и сохраняет нужные в in-memory key/value хранилище Redis.
Это зависит от конкретной задачи. В продуктивных задачах используются алгоритмы
— байесовский классификатор
— логрегрессия
— метод опорных векторов
Основная область применения этих алгоритмов — прогнозная аналитика на основе транзакционных данных абонентов.
1) Ограничивается область покрытия сотовых вышек в зонах вылета/прилёта в аэропортах.
2) Формируется список абонентов во временном интервале, соответствующем времени рейса, у которых была любая сетевая активность (звонки / смс / интернет-трафик) в зоне действия вышек из п. 1.
3) Из списка из п. 2 выбираются
— абоненты, у которых в искомом временном интервале произошло событие включения/выключения телефона (потенциальные пассажиры самолета),
— абоненты, которые в течение месяца проводят более 20 часов в зоне действия вышек из п.1 (предположительно, продавцы),
— абоненты, у которых есть транзакции в этот же день в области действия вышек Москвы (предположительно, встречающие / провожающие).