Технологии обработки больших данных (Data Mining и Big Data)

Баев Д.Э., Коломойцева И.А.
Донецкий национальный технический университет
azo.cw@yandex.ru, bolatiger@mail.ru

Баев Д.Э., Коломойцева И.А. Технологии обработки больших данных (Data Mining и Big Data). В статье описаны термины «Data Mining» и «Big Data», основные критерии определения к какой категории можно отнести имеющуюся информацию, какие языки программирования предназначены для обработки больших данных. Выполнен обзор главных принципов и основных методов работы с большими данными. Проанализированы проблемы, возникающие при анализе и обработки большого объема данных.
Ключевые слова: Big Data, Data Mining, обработка больших данных, Volume, Velocity, Variety, Variability, Value, Data Lake, Hadoop.

Введение

К Big Data относят регулярно обновляемую информацию, объем которой может превышать несколько терабайт. К такой информации относят данные, поступающие из контакт-центров; медиа социальных сетей; данные о торгах фондовых бирж и т. п.
Термин «Big Data» подразумевает не только данные как таковые, но и принципы обработки больших данных, возможность дальнейшего их использования, порядок обнаружения конкретного информационного блока в больших массивах.
В 2001 году Meta Group сформулировала определенные критерии, которые позволяют оценить, соответствуют ли данные понятию Big Data, а именно:

  • Volume (объем) - примерно 1 Петабайт и выше;
  • Velocity (скорость) - генерация, поступление и обработка данных с высокой скоростью;
  • Variety (разнообразие) - разнородность данных, различные форматы и возможное отсутствие структурированности;
  • Variability (изменчивость) - разноплановая интенсивность поступления, которая влияет на выбор методик обработки;
  • Value (значимость) - разница в уровне сложности получаемой информации.

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

  1. Постановка задачи для аналитической программы.
  2. Программа осуществляет сбор данных с их параллельной подготовкой (декодировка, отсев мусора, удаление нерелевантной информации).
  3. Выбор алгоритма анализа данных.
  4. Обучение программы выбранному алгоритму с дальнейшим анализом обнаруженных закономерностей.

В большинстве случаев полученные необработанные данные хранятся в так называемом «озере данных» - Data Lake. Формат и уровень структуризации информации при этом может быть разнообразным:

  • структурные (данные в виде строк и колонок);
  • частично структурированные (логи, CSV, XML, JSON-файлы);
  • неструктурированные (pdf-формат, формат документов и т. п.);
  • бинарные (формат видео, аудио и изображения).

DataLake – помимо функции хранения, включает в себя и программную платформу (например, такую как Hadoop - пакет утилит и библиотек, используемый для построения систем, обрабатывающих, хранящих и анализирующих большие массивы нереляционных данных: данные датчиков, интернет-трафика, объектов JSON, файлов журналов, изображений и сообщений в соцсетях), а также определяет источники и методы пополнения данных, кластеры узлов хранения и обработки информации, управления, инструментов обучения

1. Главные принципы работы с большими данными

Выделяют три главных принципа, среди которых:

  1. Горизонтальная адаптивность.
    Количество данных неограниченyо, поэтому обрабатывающая их система должна иметь способность к расширению: при возрастании объемов данных должно пропорционально увеличиваться количество оборудования для поддержания работоспособности всей системы.
  2. Стабильность в работе при отказах.
    Горизонтальная адаптивность предполагает наличие большого числа машин в компьютерном узле.
  3. Концентрация данных.
    В масштабных системах данные распределяются по большому количеству оборудования.

2. Основные методы обработки больших данных

Среди основных методов выделяют следующие 9:

  1. Машинное обучение.
    Этот метод анализ данных содержит в своей основе способность аналитической системы самостоятельно обучаться в процессе решения различных задач.
  2. Нейронные сети.
    Нейросеть используют для распознавания визуальных образов, которая способна проделать работу за несколько десятков людей. В основном, ее используют для развлечений, прогнозирования, обеспечения безопасности, медицинской диагностики и т. д.
  3. Технология Data Mining.
    Метод подразумевает обнаружение определенных закономерностей в сырых данных с помощью интеллектуального анализа. Data Mining используют для:
    — определения нетипичных данных в общем потоке информации посредством анализа отклонений;
    — поиска идентичной информации в различных источниках с помощью ассоциаций;
    — определения факторов влияния на заданный параметр через регрессионный анализ;
    — распределения данных по группам со схожими характеристикам, т. е. классификация данных;
    — разделения записей по заранее сформированным классам, т. е. кластеризация.
  4. Стратегия краудсорсинга.
    Применяется в тех ситуациях, когда нет экономической выгоды в разработке системы ИИ, для выполнения разовых работ привлекают большое количество людей, которые в свою очередь могут решить те задачи, с которыми компьютер не в состоянии справиться в одиночку.
  5. Метод предиктивной аналитики (методика прогнозирования).
    Принцип предиктивной аналитики таков: сначала нужно исследовать данные за прошлый период; выявить закономерности или факторы, которые стали причиной результата; далее с помощью нейросети или математических вычислений создать модель, которая сможет производить прогнозирование.
  6. Принцип статистического анализа.
    Суть метода заключается в сборе данных, их изучении на основе конкретных параметров и получении результата, выраженного, как правило, в процентах. У этого метода есть слабое звено - неточность данных в маленьких выборках.
  7. Технология имитационного моделирования.
    Имитационное моделирование отличается от методики прогнозирования тем, что берутся в учет факторы, чье влияние на результат затруднительно отследить в реальных условиях - выстраиваются модели с учетом гипотетических, а не реальных данных, и затем эти модели исследуют в виртуальной реальности.
  8. Метод визуализации аналитических данных.
    Для реализации этого метода, при условии работы с большими данными, используют виртуальную реальность и «большие экраны». Метод визуализации аналитических данных позволяет быстро воспринять и сравнить, например, уровни продаж в разных регионах, или оценить зависимость объемов продаж от снижения/увеличения стоимости товара.
  9. Метод смешения и интеграции данных.
    В подавляющем большинстве случаев Big Data получают из различных источников, соответственно, данные имеют разнородный формат. Загружать такие данные в одну базу бессмысленно, так как их параметры не имеют взаимного соотношения. Именно в таких случаях применяют смешение и интеграцию, то есть приводят все данные к единому виду. Для использования информации из различных источников применяют следующие методы:
    — сведение данных в единый формат посредством конвертации документов, перевода текста в цифры, распознавание текста;
    — информацию для одного объекта дополняют данными из разных источников;
    — из лишней информации отфильтровывают и удаляют ту, которая недоступна для анализа.

3. Проблемы анализа и обработки большого объема данных

Основная проблема обработки большого массива данных лежит на поверхности - это высокие затраты. Здесь учитываются расходы на закупку, содержание и ремонт оборудования, а также заработанная плата специалистов, которые компетентны в работе с Big Data.
Следующая проблема связана с большим объемом информации, нуждающейся в обработке.
Еще одна проблема - приватность больших данных. Конфиденциальность может быть нарушена, так как все большее количество сервисов, связанное с обслуживанием клиентов, используют данные онлайн. Соответственно, это увеличивает рост киберпреступлений. Вопрос сохранности личных данных - одна из важнейших задач, которую необходимо решать при использовании методик Big Data.

4. Классификация и источники данных

В качестве подхода к классификации данных Big Data негласно было решено использовать степень структурированности данных:

  1. Структурированные данные.
    Как правило, хранятся в реляционных базах данных. Упорядочивают данные на уровне таблиц — например, Excel. От информации, которую можно анализировать в самом Excel, Big Data отличается большим объемом.
  2. Частично структурированные.
    Данные не подходят для таблиц, но могут быть иерархически систематизированы. Под такую характеристику подходят текстовые документы или файлы с записями о событиях.
  3. Неструктурированные.
    Не обладают организованной структурой: аудио- и видеоматериалы, фото и другие изображения.

В качестве главных источников данных принято выделять следующие:

  • интернет вещей (IoT) и подключенные к ним устройства;
  • соцсети, блоги, СМИ;
  • данные компаний: транзакции, заказы товаров и услуг, поездки на такси и каршеринге, профили клиентов;
  • показания приборов: метеорологические станции, измерители состава воздуха и водоемов, данные со спутников;
  • статистика городов и государств: данные о перемещениях, рождаемости и смертности;
  • медицинские данные: анализы, заболевания, диагностические снимки.

5. Языки программирования для работы с Big Data

R. Язык используется для обработки данных, сбора статистики и работы с графикой. Загружаемые модули связывают R с GUI-фреймворками и позволяют разрабатывать утилиты анализа с графическим интерфейсом. Графика может быть экспортирована в популярные форматы и использована для презентаций. Статистика отображается в виде графиков и диаграмм.
Scala. Нативный язык для Apache Spark, используется для анализа данных. Проекты Apache Software Foundation, Spark и Kafka, написаны в основном на Scala.
Python. Обладает готовыми библиотеками для работы с AI, ML и другими методами статистических вычислений: TensorFlow, PyTorch, SKlearn, Matplotlib, Scipy, Pandas. Для обработки и хранения данных существуют API в большинстве фреймворков: Apache Kafka, Spark, Hadoop.

6. Примеры использования Big Data: бизнес, IT, медиа

Большие данные используют для разработки IT-продуктов. Например, в Netflix прогнозируют потребительский спрос с помощью предиктивных моделей для новых функций онлайн-кинотеатра. Специалисты стриминговой платформы классифицируют ключевые атрибуты популярности фильмов и сериалов, анализируют коммерческий успех продуктов и фич. На этом построена ключевая особенность подобных сервисов — рекомендательные системы, предсказывающие интересы пользователей.
В геймдеве используют большие данные для вычисления предпочтений игроков и анализа поведения в видеоиграх. Подобные исследования помогают совершенствовать игровой опыт и схемы монетизации.
Для любого крупного производства Big Data позволяет анализировать доходы и обратную связь от заказчиков, детализировать сведения о цепочках производства и логистике. Подобные факторы улучшают прогноз спроса, сокращают расходы и простои.
Big Data помогает со слабоструктурированными данными о запчастях и оборудовании. Записи в журналах и сведения с датчиков могут быть индикаторами скорой поломки. Если ее вовремя предсказать, это повысит функциональность, срок работы и эффективность обслуживания техники.
В сфере торговли анализ больших данных дает глубокие знания о моделях поведения клиентов. Аналитика информации из соцсетей и веб-сайтов улучшает качество сервиса, повышает лояльность и решает проблему оттока покупателей.
В медицине Big Data поможет с анализом статистики использования лекарств, эффективности предоставляемых услуг, с организацией работы с пациентами.
В банках используют распределенные вычисления для работы с транзакционной информацией, что полезно для выявления мошенничества и улучшения работы сервисов.
Госструктуры анализируют большие данные для повышения безопасности граждан и совершенствования городской инфраструктуры, улучшения работы сфер ЖКХ и общественного транспорта.

Выводы

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

Литература

  1. Анналин Ын, Кеннет Су. Теоретический минимум по Big Data. Всё что нужно знать о больших данных. - СПб.: Питер, 2019. - 208 с.: ил.
  2. Кукьер К., Майер-Шенбергер В. Большие данные. Революция, которая изменит то, как мы живем, работаем и мыслим. - М.: ДМК Пресс, 2013. - 240 с.: ил.
  3. Уоррен Дж., Марц Н. Большие данные. Принципы и практика построения масштабируемых систем обработки данных в реальном времени. - М.: Вильямс, 2018. - 368 с.: ил.
  4. Сенько А. Работа с BigData в облаках. Обработка и хранение данных с примерами из Microsoft Azure. - СПб.: Питер, 2019. - 448 с.: ил.
  5. Вайгенд Андреас. BIG DATA. Вся технология в одной книге. - М.: Эксмо, 2021. - 384 с.: ил.
  6. O'Reilly Media. Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale / 4th Edition. - V.: O’Reilly, 2015. - 754 с.: ил.

Баев Д.Э., Коломойцева И.А. Технологии обработки больших данных (Data Mining и Big Data). В статье описаны термины «Data Mining» и «Big Data», основные критерии определения к какой категории можно отнести имеющуюся информацию, какие языки программирования предназначены для обработки больших данных. Выполнен обзор главных принципов и основных методов работы с большими данными. Проанализированы проблемы, возникающие при анализе и обработки большого объема данных.
Ключевые слова: Big Data, Data Mining, обработка больших данных, Volume, Velocity, Variety, Variability, Value, Data Lake, Hadoop.

Baev D.E., Kolomoitseva I.A. Big data processing technologies (Data Mining and Big Data). The article describes the terms "Data Mining" and "Big Data", the main criteria for determining which category the available information can be attributed to, which programming languages are designed for processing big data. The review of the main principles and basic methods of working with big data is carried out. The problems arising during the analysis and processing of a large amount of data are analyzed. Keywords: Big Data, Data Mining, big data processing, Volume, Velocity, Variety, Variability, Value, Data Lake, Hadoop.