Статья опубликована в рамках: Научного журнала «Студенческий» № 15(185)
Рубрика журнала: Информационные технологии
Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6, скачать журнал часть 7, скачать журнал часть 8
МЕТОДЫ ОБРАБОТКИ БОЛЬШИХ ДАННЫХ
АННОТАЦИЯ
В статье описывается применение технологи Hadoop для анализа больших данных.
Ключевые слова: большие данные (Big Data), анализ больших данных, HDFS, Hadoop, MapReduce.
В современном мире анализ больших данных стал занимать важную роль в жизни человека. Анализ данных может помочь компаниям более четко понять потребности потребителя и более эффективно предлагать продукты и услуги. В информационном обществе бесконечно ведутся споры о том, как именно анализировать данные, а также о том, какие методы использовать.
На сегодняшний день можно выделить следующие методы и технологии анализа больших данных:
- Экосистема Hadoop
- Apache Spark
- Data Lake
- Язык R
- Базы данных NoSQL
- Предиктивная аналитика
- Искусственный интеллект
- Блокчейн
Одной из главных проблем Big Data является надежность, т.к. обработка большого объема данных происходит на нескольких серверах и из-за большого количества узлов возможны частые сбои. В рамках данной статьи будет рассмотрена экосистема Hadoop, т.к. она позволяет решить данную проблему.
Экосистема Hadoop предоставляет собой распределенную файловую систему, которая предназначена для работы на обычном оборудовании. Hadoop имеет два основных уровня, а именно–
- Уровень обработки / вычисления (MapReduce)
- Уровень хранения (HDFS).
HDFS состоит из служб NameNode и DataNode, обеспечивающих основу для распределенной файловой системы. NameNode хранит, управляет и обслуживает метаданные файловой системы. NameNode не хранит никаких реальных блоков данных. DataNode — это служба для каждого узла, которая управляет фактическим хранилищем блоков данных в узлах данных. При извлечении данных клиентские приложения сначала связываются с NameNode, чтобы получить список местоположений, в которых находятся запрошенные данные, а затем связываются напрямую с DataNode, чтобы получить фактические данные.
MapReduce – это платформа для вычисления определённых задач на больших кластерах стандартного оборудования надежным и отказоустойчивым способом. Работа платформы разделена на две функции Map и Reduce.
Функция Map получает каждую запись входных данных (строки файла, строки базы данных и т. д.) в виде пар “ключ - значение” и в качестве результата выводит пары “ключ - значение”. По замыслу каждый вызов функции Map независим друг от друга, что позволяет платформе проводить параллельные вычисления. Это также позволяет дублировать выполнение задач Map в случае сбоев или дисбаланса нагрузки, не влияя на результаты вычислений.
Функция Reduce берет входные данные для каждой задачи, сортирует и группирует их по ключу.
Рисунок 1. Строение Hadoop
Для демонстрации возможности экосистемы «Hadoop» была написана программа для подсчета слов в тексте.
Функция Map обрабатывает каждую входную запись и генерирует соответствующую пару “ключ - значение”, где ключом будет слово, а значением – количество повторений слова. Функция Reduce принимает массивы от рабочих узлов и обрабатывает эти данные дальше, чтобы уменьшить промежуточные значения до меньших значений.
Для демонстрации работы программы был взят текстовый набор данных объемом в 0,9 Гб. Результат тестирования представлен в таблице 1.
Таблица 1.
Результат тестирования
Количество узлов |
Затраченное время |
1 |
4 минуты 10 секунд |
2 |
2 минуты 5 секунд |
3 |
1 минута 15 секунд |
Анализируя полученные данные, можно сделать следующий вывод, что время считывания данных с узла зависит от количества узлов, а значит, для быстрой обработки большого объема данных можно использовать несколько машин.
На данном этапе развития технологий «Big Data» все еще остается довольно дорогостоящей технологией. В среднем, цена одного проекта может достигать восьми миллионов долларов, но чаще всего - десятки и сотни миллионов. Корпорации с малым или средним доходом не могут себе этого позволить. Но, технология анализа больших данных постоянно развивается и вместе с тем становится доступнее. Она непременно получит широкое распространение, пока на смену ей не придет более современная и актуальная технология.
Список литературы:
- Wang L. and Shen J. Bioinspired cost-effective access to big data // International Symposium for Next Generation Infrastructure. – №43. – 2013. – pp. 1-7.
- Shi C., Shi Y., Qin Q., Bai R., Yin H., Tang K., Gao Y., Klawonn F. Swarm Intelligence in Big Data Analytics // Intelligent Data Engineering and Automated Learning. – №35. – 2013. – pp. 417-426.
- Al-Jarrah O. Y., Yoo P. D., Muhaidat S., Karagiannidis G. K. Efficient Machine Learning for Big Data: A Review // Big Data Research. – №61.– 2015. – pp. 87-93.
- Huang Z. A fast clustering algorithm to cluster very large categorical data sets in data mining // SIGMOD Workshop on Research Issues on Data Mining and Knowledge Discovery. – 1997.
- Boyd. D, Crawford. K. Critical Questions for Big Data // Information, Communication & Society. – №15. – 2012. – pp. 662–679.
- Mishra N., Lin C., Chang H. A cognitive adopted framework for IOT big data management and knowledge discovery prospective // International Journal of Distributed Sensor Networks. – №66. – 2015. – pp. 1-13.
Оставить комментарий