Анастасия Михалицина — Старший PR-менеджер
тел.: +7 (495) 748-05-75 | доб. 3053
E-mail: amikhalitsina@at-consulting.ru

Управление и анализ Big Data: подходы и решения на базе Hadoop

11 декабря 2013 , Connect!

Юрий Колбасин, директор Центра компетенций BI, Леонид Блынский, директор по архитектуре BI, и Алексей Беднов, архитектор Big Data компании AT Consulting рассказали читателям журнала Connect! о возможностях управления большими массивами данных с помощью Apache Foundation Hadoop.

_______

Предпосылки к появлению «больших данных»

Любой передовой сервис, как правило, обеспечивается какой-то конкретной технологией. В последнее время технологический уровень компаний-заказчиков сильно растет, и внедрением BI, ERP или CRM-системы никого не удивишь. То же можно сказать и о продуктах, выводимых на рынок. К примеру, проникновение мобильной связи в России в 2012 году составило 183,1 % (по данным аналитической группы ТАСС-Телеком). Задумайтесь, на тысячу человек приходится 1831 сим-карта. Эти тенденции приводят к тому, что телекоммуникационные компании борются не за массовый приток клиентов, а за точечные сегменты (микросегменты), такие как студенты, пенсионеры, люди с большим достатком, люди, проживающие в определенных районах и потребляющие определенные сервисы и.т.п. Важную роль в этой связи приобретают социальные сети. Соцсети – это колоссальный источник потенциальных клиентов, которых можно привлечь, анализируя их активность и поведение друзей. Клиенту сегодня нужен не массовый продукт, а кастомизированное под его нужды супер-предложение. Вот здесь на арену и выходят микросегменты. Бизнес давно вынашивал идеи по созданию микросегментации, а также контекстуальному маркетингу. Зачастую такие инициативы останавливались или заканчивались сомнительными результатами, несмотря на колоссальные траты. Информационные технологии не могли поддержать потребность бизнеса в новых источниках, новом знании о клиенте, новых средствах аналитики и повышении скорости time2market ввиду большой стоимости оборудования и трудностей работы с нетрадиционными источниками информации (блоги, соцсети и.т.п.). На место образовавшегося вакуума пришли технологии Big Data. По нашему мнению, Big Data – это не просто комплекс решений, помогающих хранить и обрабатывать огромные массивы данных. Это технология, которая позволяет благодаря разнообразной, разнородной и, на первый взгляд, ненужной информации лучше понимать клиента, его поведение, его предпочтения, что дает возможность сделать ему такое предложение, от которого он не сможет отказаться. Индивидуальный подход к каждому микросегменту и четкое таргетированное предложение – ответ на то, как можно зарабатывать дополнительную выручку, применяя Big Data.

Для того, чтобы отдача от технологии была максимальной, мы предлагаем создавать «Фабрику идей». В основе стоит кластер Big Data, в который загружается недоступная или труднодоступная ранее информация. Чем разнороднее информация, тем креативнее будут идеи. Как показывает наш опыт, бизнес с удовольствием принимает участия в создание различных кейсов, а также в их реализации. Задача «Фабрики» – быстро запускать конкретные идеи (каждая идея – это кейс, который позволяет на дополнительном знании о профиле клиента зарабатывать дополнительную выручку). По результатам запуска идеи принимается решение об успешности или безуспешности гипотезы, и в зависимости от решения идея переносится на продуктивную среду, генерируя выручку. К примеру, у одного из наших заказчиков на базе созданной нами «Фабрики идей» одновременно запускается более 40 различных кейсов. Каждый кейс уникален и содержит в себе ноу-хау, и это только начало!

Описание Apache Hadoop

На момент популяризации технология развивалась не один год, поэтому сейчас мы имеем полный набор средств, необходимых для работы: средства администрирования, разнообразные языки программирования, различные средства для анализа и работы с данными и метаданными. Стек технологий огромен, и при этом он постоянно растет. Прежде всего, благодаря мощному сообществу программистов, вносящих свой вклад в развитие open source продукта Apache Foundation Hadoop, который является основой для всех коммерческих релизов. Ведущие производители предлагают различные инструменты для обработки и анализа больших массивов информации: EMC GreenPlum, IBM Neteeza, Oracle Exadata, Teradata. Но, к сожалению, стоимость подобных решений зачастую можно сравнить с «постройкой чугунного моста». Поэтому набор компонентов для распределенных вычислений, основанный на Apache Hadoop, сейчас особенно востребован. Hadoop состоит из нескольких базовых компонентов:

1. Hadoop Common – Набор библиотек и интерфейсов для работы кластера. Написан на Java.

2. Hadoop Distributed File System (HDFS) – Распределенная файловая система Hadoop.

3. MapReduce – программный каркас для распределенных вычислений над большими объемами данных. На данный момент выпущена версия 2.0 (YARN), содержащая в себе значительные доработки, в первую очередь нацеленные на повышение производительности работы.

Hadoop представляет собой кластер, работающий по принципу MPP (массивная параллельная обработка). Основной узел NameNode хранит метаданные и распределяет задачи; узлы DataNode, содержат блоки данных, на которых проводятся вычисления. Совместно с основными компонентами в составе кластера Hadoop могут использоваться и дополнительные, такие как:

1. Hive – хранилище, позволяющее управлять большими объемами данных и предоставляющее SQL-подобный язык запросов для доступа к данным в HDFS (HiveQL);

2. Pig – высокоуровневый язык доступа к данным и cреда с распараллеливанием для анализа больших объемов данных;

3. HBase – не реляционная распределенная база данных, позволяющая увидеть данные в виде таблиц;

4. ZooKeeper – распределенный координационный сервис, предоставляющий API для создания распределенных приложений;

5. Sqoop – средство обмена данных между Hadoop и структурированными хранилищами данных, например, реляционными базами данных;

6. Oozie – гибкий планировщик заданий для кластера Hadoop;

7. HCatalog – набор интерфейсов, предоставляющий доступ из внешних систем к метаданным хранилища Hive;

8. Ambari – система управления и мониторинга кластера Hadoop, поддерживающая HDFS, MapReduce, Hive, HBase, HCatalog, ZooKeeper, Pig, Sqoop, Oozie;

9. Avro – система сериализации данных;

10. Mahout – масштабируемая система машинного обучения, позволяющая создавать интеллектуальные приложения.

Hadoop, на наш взгляд, имеет следующие преимущества.

1. Основан на парадигме MapReduce, которая хорошо подходит под бизнес-требования и не сложна в применении, учитывая доступный sql-подобный функционал.

2. Параллельная обработка. Каждый узел работает только со «своей» порцией данных.

3. Перемещение вычислений к данным. Нет необходимости пересылать данные с подчиненных узлов на основной узел кластера для расчетов, как в реляционных СУДБ. По сети пересылаются только предварительно агрегированные данные, что сильно ускоряет работу.

4. Высокая отказоустойчивость и низкая стоимость владения кластером. Hadoop разработан для работы на условно недорогом «железе». Сбои в работе узлов принимаются как нечто обыденное, и кластер хорошо защищен от потери данных или сбоев в предоставлении сервиса.

5. Практически линейная масштабируемость. Если необходимо обрабатывать больше данных и быстрее, достаточно просто увеличить мощность кластера. Никакие доработки кода не требуются.

6. Легкая настройка и поддержка кластера.

Практические примеры использования Hadoop

Приведем пример использования Hadoop из нашей практики. Один из операторов «большой тройки» поставил перед собой задачу: в зависимости от категории и местоположения абонента, предложить персонифицированные услуги, причем сделать это в промежуток времени, приближенный к реальному. В наши обязанности входила техническая реализация задачи. В короткие сроки был развернут кластер Hadoop и подключен источник, который предоставлял данные в текстовом формате с разделителями в большом объеме (300 Гб в сутки). При помощи Java-кода была сформирована модель поведения каждого абонента на основе геолокации по его предыдущим активностям за месяц. Полученную поведенческую модель сравнивали с новыми поступающими данными, определяли местоположение абонента и выясняли, подходит ли он под условия целевой группы или нет. Если ответ был утвердительный, то номер абонента попадал в выгрузку для Campaign Management, где формировалось предложение, и производилась рассылка.

При помощи такого инструмента, как Hadoop мы смогли:

1) на ежедневной основе за короткий промежуток времени актуализировать поведенческую модель абонентов и держать ее в «в тонусе»;

2) за несколько секунд определять, «кто есть кто», и делать персонифицированное предложение;

3) накапливать всю историю по абоненту за неограниченный период времени для нужд Data Science;

4) построить действительно гибкую площадку для исследований поведения абонентов.

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

Обзор коммерческих решений

Среди коммерческих поставщиков дистрибьютива Hadoop следует выделить относительно молодые компании Cloudera (основана в 2008 г.) и HortonWorks (в 2011 г.). В обеих компаниях работают ведущие разработчики «ядра» технологии, т.е. те, кто собственно строит Apache Hadoop.

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

Обе компании имеют свои центры обучения, программу развития, большое количество внедрений продуктов, идет постоянная интеграция с ведущими ETL и BI-решениями. Выбрать лучшую довольно проблематично. К нам обратился один из крупнейших операторов сотовой связи с задачей исследования коммерческих дистрибьютивов. Мы провели сравнительную оценку более чем по 90 позициям, и различие оказалось всего лишь в нескольких пунктах.

Отдельно стоит отметить мировых ИТ-лидеров. Корпорация Oracle представляет на рынке Oracle Big Data Appliance – программно-аппаратный комплекс с установленным дистрибьютивом от Cloudera и СУБД NoSQL. Также предлагаются компоненты Oracle Loader for Hadoop, позволяющая эффективно загружать данные из Hadoop в СУБД Oracle и Oracle SQL Connector for Hadoop, предоставляющий возможность делать запросы непосредственно из СУБД в Hadoop через механизм External Table. Ну и, конечно, главный козырь Oracle – InfiniBand, широкий канал связи, дающий возможность быстро передавать огромные объемы информации на сервера Oracle Exadata и Oracle Exalytics.

Компания Teradata представляет программно-аппаратный комплекс Aster’s Big Analytics Appliance, работающий с дистрибьютивом от HortonWorks. Для анализа данных в представленном решении используется язык SQL, поддерживающий стандарт ANSI и имеющий дополнительные расширения в виде функций, реализующих огромный аналитический функционал, включая анализ графов, который требуется при анализе социальных сетей.

Голубой гигант представлен на рынке Больших Данных дистрибьютивом IBM Infosphere BigInsights. В дополнение к классической файловой системе HDFS можно использовать аналог – GPFS (general parallel file system), индексирующий текстовую информацию, что позволяет проводить быстрый текстовый анализ. Есть коннекторы к Netezza, DB2, специальный драйвер JDBC для работы с другими СУБД, средство интеграции со статистическим пакетом R. Компонент BigSheets позволяет в наглядной и простой форме анализировать неструктурированные данные. В целом дистрибьютив представляет функционал, дающий возможность пользователям, далеким от программирования задач MapReduce, выполнять сложные аналитические задачи.

EMC предлагает продукт Greenplum UAP (Unified Analytics Platform). Он представляет собой программно-аппаратный комплекс, интегрирующий сертифицированный дистрибьютив Apache Hadoop (Greenplum HD) с распределенной БД Greenplum Database и hardware-платформой для хранения данных EMC Isilon. Greenplum HD преобразовывает неструктурированные данные в формат данных, пригодный для БД Greenplum Database. База данных располагается на аппаратном комплексе EMC Isilon, полностью поддерживающего HDFS и отвечающего самым высоким требованиям к масштабируемости и производительности кластеров для анализа Больших Данных.

Что в итоге

Технология Big Data позволяет консолидировать большие массивы информации, например, о клиентах, из различных источников. При этом затраты на оборудование и поддержку несопоставимы с традиционными решениями. Не надо больше думать о том, сколько стоит один терабайт хранения информации на дисковом массиве. На сегодняшний день существует инструментарий, позволяющий аналитику, знакомому с языком sql, генерировать сложные MapReduce задания. Следует понимать также, что Big Data не может полностью заменить традиционные СУБД, а дополняет и расширяет возможности анализа данных, снимает часть нагрузки с критичных для бизнеса систем.

Отзывы

Сбербанк

Виктор Орловский, член правления, старший вице-президент ОАО «Сбербанк России»

Мне нравится работать с AT Consulting в первую очередь потому, что эксперты компании нацелены на получение требуемого результата, не останавливаются перед трудностями, ищут новые решения и, как следствие, растут профессионально.

Отзывы

Сбербанк

Виктор Орловский, член правления, старший вице-президент ОАО «Сбербанк России»

Мне нравится работать с AT Consulting в первую очередь потому, что эксперты компании нацелены на получение требуемого результата, не останавливаются перед трудностями, ищут новые решения и, как следствие, растут профессионально.

Представительства