Не так давно широкое распространение в ИТ-сообществе получила Open Source-платформа Hadoop для работы с большими данными (Big Data). Как всегда при появлении новой технологии компании сначала присматривались к ней, а затем начали строить тестовые кластеры для решения собственных задач. Для больших организаций, которые располагают собственной ИТ-инфраструктурой и большим штатом, новая технология не стала вызовом. Гораздо интереснее рассмотреть опыт запуска этой платформы в компаниях сегмента СМБ, которые видят потенциальную выгоду от использования Hadoop.
Представим, что компания, которая следуя веяниям моды на Hadoop, уже поставила небольшой тестовый кластер при помощи системного администратора. Кластер исправно работает, но не загружен реальными задачами. Но как только они появляются, то компания сталкивается с первыми сложностями, а именно:
- Разработка на одном из языков программирования для Hadoop требует отдельной высокой квалификации, это означает привлечение дорогой штатной единицы.
- Бизнес-анализ по задаче должен выполняться квалифицированным бизнес-аналитиком, понимающим как правильно использовать Hadoop.
И если эти вызовы можно преодолеть внутренними силами компании, то при запуске в работу более сложных задач ИТ-специалистов ждут новые трудности:
- Нужен штатный администратор кластера, который постоянно загружен и требует наблюдения.
- Необходимо выстроить процесс взаимодействия ИТ-отдела и бизнес-заказчиков.
- Появляются дополнительные работы по обслуживанию кластера: загрузка источников, разработка общей архитектуры и многое другое.
- Задачи усложняются, а сроки сокращаются. Команде необходимо очень быстро повышать свой профессиональный уровень, ощущается нехватка ИТ-специалистов.
Новый уровень развития системы, когда задачи выполняются, работа продолжается, потребует инвестиций в Machine Learning (машинное обучение). Компании требуется сотрудник с хорошим уровнем подготовки и знанием статистики. Как правило, таких специалистов сложно найти и еще сложнее удержать и материально мотивировать.
Теперь самое время посчитать затраты компании и прибыль, принесенную ей комплексом Big Data. Можно сказать наверняка, что если Hadoop используется не только для дешевого хранения, но и для построения аналитики на Big Data, то создание полноценного отдела по обработке данных может оказаться экономически неоправданным.
Готовые сервисы: за и против
Если есть много задач, которые можно решить с помощью Big Data, но поддержка отдела в компании нецелесообразна, на помощь придут сервисы обработки данных. Они обладают целым рядом преимуществ. Прежде всего, при использовании сервисов у компании нет необходимости содержать штат высококвалифицированных сотрудников и оплачивать дорогостоящее оборудование. В готовых сервисах реализованы часто используемые компоненты. А значит, не нужно ждать, когда ваши сотрудники будут готовы к использованию, например, технологии машинного обучения. Вы быстро получаете нужный результат. Как правило, готовые сервисы не требуют доработок функционала. Компания может масштабировать сервис, исходя из текущих задач, и платить только за результат и нужный объем работы.
Конечно, есть и ограничения при использовании сервисов анализа данных. В готовом решении может не оказаться необходимого именно для вас функционала. Доработка сервиса займет некоторое время, необходимое на разработку и встраивание дополнительного модуля. Есть риски, связанные с отсутствием роста экспертного уровня штатных специалистов в сфере Big Data из-за использования готового сервиса. Это может стать критичным в будущем, если вы планируете наращивать работу по этому направлению.
Как устроены сервисы обработки данных
Сервис обработки данных — это совокупность людей и машин. Лучше всего объяснить его устройство можно ответив на два вопроса: как и чем? То есть главная задача любого готового сервиса — обеспечить компанию-заказчика серверными мощностями, необходимыми алгоритмами обработки информации и экспертами по данным. Это позволяет с минимальными временными и финансовыми затратами получать результаты анализа в защищенной среде.
Начнем с того, как это работает. У заказчика есть бизнес-кейс и данные, которые необходимо обработать соответствующим образом. Сервис позволяет загрузить порцию данных в облако, обработать их необходимыми моделями и выгрузить полученный результат. Если компания-заказчик не обладает необходимой экспертизой в области анализа данных — это не проблема. Сервис по анализу данных включает в себя и высококлассных аналитиков по обработке результатов выгрузки (data scientist’s), которые могут взять на себя весь объем работ от рекомендации до проведения всех операций по загрузке данных в облако и вывода итогового результата.
Нельзя сказать, что сервис — ограниченный набор функций. Возможности сервиса, по сути, безграничны. По запросу пользователей можно добавить в готовое решение дополнительный модуль или библиотеку. Разумеется, встроить все и сразу не получится, но апгрейд не займет много времени. Через некоторое время сформируется минимально необходимый набор функций, который по правилу Парето будет покрывать 80% задач.
Из минимально необходимого набора стоит отметить следующие алгоритмы/подходы обработки данных:
- Рекомендательная система:
o Каллаборативная фильтрация.
o Контент-фильтрация/анализ маркетинговой корзины.
- Классификация — определение принадлежности объекта к классу:
o Наивный классификатор Байеса.
o Логистическая регрессия.
o Деревья.
o Метод опорных векторов.
o Нейронные сети.
o Сравнение моделей.
- Кластеризация — нахождение похожих объектов:
o Иерархическая.
o К-средняя.
o К-ближайших соседей.
o Карта Кохана.
- Анализ графов — анализ распространения информации, поиск сообществ:
o Поиск центральных узлов.
o Поиск сообществ.
- Анализ независимых компонент — убрать шумы из выборки, уменьшение размерности признакового пространства.
- Разбиение выборки:
o Тестовая.
o Обучающая.
- Семплер данных:
o Стратифицированный семплер.
o Bootstrapping.
- Построение прогнозов:
o Регрессия.
o Анализ временных рядов.
В качестве потенциальных пользователей сервисов анализа данных можно назвать как крупные компании, так и средний и даже малый бизнес, в их число входят интернет-провайдеры, телеком-операторы, банки, страховые и рекламные компании. Интерес к сервисам анализа данных проявляют организации, занятые в разных отраслях: здравоохранение, нефтегазовый сектор, легкая и тяжелая промышленность, игровая индустрия, ЖКХ, системы безопасности, социальные и культурные проекты.
Вне зависимости от специализации компании-заказчика, готовый сервис анализа данных позволяет быстро получить конкурентные преимущества и адаптироваться к изменяющимся условиям рынка. Машинное обучение здесь играет не последнюю роль, оно способно выявлять новые пути развития в бизнесе и своевременно сигнализировать об этом, а дальше — дело техники.
Автор статьи — архитектор Big Data компании AT Consulting.