Что такое Hadoop?
Apache Hadoop – это платформа с открытым исходным кодом, предназначенная для эффективного хранения и обработки больших наборов данных объемом от гигабайтов до петабайтов. Вместо одного большого компьютера для хранения и обработки данных Hadoop предлагает использовать кластеры компьютеров, чтобы быстрее выполнять параллельный анализ огромных наборов данных.
Каковы четыре основных модуля Hadoop?
Hadoop состоит из четырех основных модулей:
- Распределенная файловая система Hadoop (HDFS) работает на стандартном оборудовании или с ограниченными возможностями. HDFS обеспечивает лучшую пропускную способность данных по сравнению с традиционными файловыми системами, а также обладает высокой отказоустойчивостью и встроенной поддержкой больших наборов данных.
- Yet Another Resource Negotiator (YARN) управляет и контролирует узлы кластера и использование ресурсов. Эта платформа планирует выполнение заданий и задач.
- Инфраструктура MapReduce помогает программам выполнять параллельные вычисления на данных. Задание картографирования принимает входные данные и преобразует их в набор данных, который можно вычислить в парах ключевых значений. Выходные данные агрегируются для получения желаемого результата.
- Hadoop Common предоставляет общие библиотеки Java, которые можно использовать во всех модулях.
Как работает Hadoop?
Hadoop упрощает использование всех ресурсов хранения и обработки кластерных серверов, а также выполнение распределенных процессов с огромными объемами данных. Hadoop предоставляет основу, из которой можно создавать другие сервисы и приложения.
Приложения, собирающие данные в различных форматах, могут помещать данные в кластер Hadoop с помощью операции API для подключения к NameNode. NameNode отслеживает структуру директорий файлов и размещение «фрагментов» для каждого файла, реплицированного между DataNodes. Чтобы запустить запрос к данным, создайте задание MapReduce со множеством заданий картографирования и агрегирования данных в HDFS, разбросанных по DataNodes. Задания картографирования выполняются на каждом узле в соответствии с предоставленными входными файлами, которые затем агрегируются и составляют выходные данные.
Как развивалась экосистема Hadoop?
За прошедшие годы экосистема Hadoop значительно выросла благодаря своей расширяемости. Сегодня экосистема Hadoop включает множество инструментов и приложений для сбора, хранения, обработки, анализа и управления большими данными. Ниже приведены некоторые из самых популярных приложений.
- Spark – это система распределенной обработки данных с открытым исходным кодом, которая широко применяется для работы с большими данными. Apache Spark использует кэширование в памяти и оптимизирует выполнение запросов для обеспечения высокой производительности. Система поддерживает универсальную пакетную обработку, анализ потоковых данных, машинное обучение, графовые базы данных и спонтанные запросы.
- Presto – это ядро обработки распределенных SQL‑запросов с открытым исходным кодом, оптимизированное для выполнения спонтанного анализа данных с низкой задержкой. Оно поддерживает стандарт ANSI SQL, включая комплексные запросы, агрегацию, слияние и функции окон. Presto может обрабатывать данные из множества источников, включая распределенную файловую систему Hadoop (HDFS) и Amazon S3.
- Hive – это приложение, позволяющее пользователям задействовать распределенное отказоустойчивое хранилище данных и Hadoop MapReduce с помощью интерфейса SQL для выполнения аналитических задач в большом масштабе.
- HBase – нереляционная версионная база данных с открытым исходным кодом, работающая поверх Amazon S3 (с использованием EMRFS) или распределенной файловой системы Hadoop (HDFS). HBase – это масштабируемое распределенное хранилище больших данных, созданное для произвольного, строго согласованного доступа в реальном времени к таблицам с миллиардами строк и миллионами столбцов.
- Zeppelin – записная книжка для интерактивного исследования данных.
Как AWS обеспечивает соответствие вашим требованиям к Hadoop?
Amazon EMR – это управляемый сервис, который позволяет обрабатывать и анализировать большие наборы данных на полностью настраиваемых кластерах с использованием самых последних версий платформ для работы с большими данными, включая Apache Hadoop, Spark, HBase и Presto.
- Простота использования: для запуска кластера Amazon EMR потребуется несколько минут. Не нужно заниматься выделением узлов и настройкой кластера и Hadoop.
- Низкая стоимость: модель ценообразования Amazon EMR проста и предсказуема – каждый используемый инстанс оплачивается на почасовой основе и вы можете использовать спотовые инстансы для большей экономии.
- Эластичность: Amazon EMR позволяет выделить от одного до сотен или тысяч вычислительных инстансов для обработки данных любого масштаба.
- Временность: с помощью EMRFS можно запускать кластеры по требованию на основе данных HDFS, постоянно хранящихся в Amazon S3. По завершении заданий можно закрыть кластер и сохранить данные в Amazon S3. Вы платите только за время работы кластера.
- Безопасность: Amazon EMR использует все общие характеристики безопасности сервисов AWS.
- Роли и политики управления идентификацией и доступом (IAM) для управления разрешениями.
- Шифрование при передаче и хранении для защиты данных и соответствия нормативным требованиям, таким как HIPAA.
- Группы безопасности для управления входящим и исходящим сетевым трафиком на узлы кластера.
- AWS CloudTrail: аудит всех вызовов Amazon EMR PI в вашем аккаунте для анализа безопасности, отслеживания изменений ресурсов и аудита соответствия требованиям.
Начните работу с Hadoop на AWS, создав аккаунт уже сегодня.
AWS: дальнейшие шаги
Получите мгновенный доступ к уровню бесплатного пользования AWS.