Оглавление:
Все говорят о Hadoop, горячей новой технологии, которая высоко ценится среди разработчиков и может изменить мир (опять же). Но что это такое? Это язык программирования? База данных? Система обработки? Уютный индийский чай?
Широкий ответ: Hadoop - это все эти вещи (кроме чайного уюта) и многое другое. Это библиотека программного обеспечения, которая обеспечивает среду программирования для дешевой и полезной обработки другого современного модного слова: больших данных.
Откуда взялся Hadoop?
Apache Hadoop является частью проекта Foundation от Apache Software Foundation, некоммерческой организации, миссия которой заключается в «предоставлении программного обеспечения для общественного блага». Таким образом, библиотека Hadoop - это бесплатное программное обеспечение с открытым исходным кодом, доступное для всех разработчиков.
Основная технология, которая поддерживает Hadoop, была изобретена Google. Еще в первые дни поисковой системе, не являющейся гигантским, требовался способ индексировать огромные объемы данных, которые они собирали из Интернета, и превращать их в значимые, релевантные результаты для своих пользователей. Поскольку на рынке не было ничего, что могло бы удовлетворить их требования, Google создал собственную платформу.
Эти нововведения были выпущены в рамках проекта с открытым исходным кодом под названием Nutch, который позже Hadoop использовал в качестве основы. По сути, Hadoop использует мощь Google для больших данных таким образом, чтобы это было доступно для компаний всех размеров.
Как работает Hadoop?
Как упоминалось ранее, Hadoop - это не одно, а множество вещей. Библиотека программного обеспечения, которая является Hadoop, состоит из четырех основных частей (модулей) и ряда дополнительных решений (таких как базы данных и языки программирования), которые расширяют возможности ее реального использования. Четыре модуля:- Общее Hadoop: это набор общих утилит (общая библиотека), которые поддерживают модули Hadoop.
- Распределенная файловая система Hadoop (HDFS): Надежная распределенная файловая система без ограничений для хранимых данных (это означает, что данные могут быть структурированными или неструктурированными и без схемы, где многие DFS будут хранить только структурированные данные), которая обеспечивает высокопроизводительный доступ с избыточностью ( HDFS позволяет хранить данные на нескольких машинах, поэтому в случае сбоя одной машины доступность сохраняется на других машинах).
- Hadoop YARN: эта структура отвечает за планирование заданий и управление ресурсами кластера; он обеспечивает достаточное распределение данных по нескольким машинам для обеспечения избыточности. YARN - это модуль, который делает Hadoop доступным и экономичным способом обработки больших данных.
- Hadoop MapReduce: эта система на основе YARN, построенная на основе технологии Google, выполняет параллельную обработку больших наборов данных (структурированных и неструктурированных). MapReduce также можно найти в большинстве современных сред обработки больших данных, включая базы данных MPP и NoSQL.
Оборудование, которое может справиться с количеством вычислительной мощности, необходимой для работы с большими данными, мягко говоря, дорого. Это настоящая инновация Hadoop: способность распределять огромные объемы вычислительной мощности на нескольких меньших компьютерах, каждый из которых имеет свои собственные локализованные вычисления и хранилище, а также встроенную избыточность на уровне приложений для предотвращения сбоев.
Что делает Hadoop?
Проще говоря, Hadoop делает большие данные доступными и доступными для всех.
До Hadoop компании, которые использовали большие данные, делали это в основном с реляционными базами данных и корпоративными хранилищами данных (которые используют огромное количество дорогостоящего оборудования). Хотя эти инструменты отлично подходят для обработки структурированных данных, то есть данных, которые уже отсортированы и организованы управляемым способом, возможности обработки неструктурированных данных были крайне ограничены, настолько, что их практически не было. Чтобы их можно было использовать, сначала нужно было структурировать данные, чтобы они аккуратно помещались в таблицы.
Каркас Hadoop меняет это требование и делает это дешево. С Hadoop огромные объемы данных от 10 до 100 гигабайт и выше, как структурированные, так и неструктурированные, могут обрабатываться с использованием обычных (обычных) серверов.
Hadoop предлагает потенциальные приложения для работы с большими данными для предприятий любого масштаба в любой отрасли. Платформа с открытым исходным кодом позволяет финансовым компаниям создавать сложные модели для оценки портфеля и анализа рисков, или интернет-магазины для точной настройки своих поисковых запросов и направления клиентов на продукты, которые они с большей вероятностью купят.
С Hadoop возможности действительно безграничны.