Баннер мобильный (2) Научиться

Hadoop

Словарь

27 марта 2023

Поделиться

Скопировано

Содержание

    Apache Hadoop — это пакет утилит, библиотек и фреймворков, его используют для построения систем, которые работают с Big Data. Он хранит и обрабатывает данные для выгрузки в другие сервисы. У Hadoop открытый исходный код, написанный на языке Java. Это значит, что пользователи могут работать с ним и модифицировать его бесплатно.

    Hadoop разделен на кластеры — группу серверов (узлов), которые используют как единый ресурс. Так данные удобнее и быстрее собирать и обрабатывать. Деление позволяет выполнять множество элементарных заданий на разных серверах кластера и выдавать конечный результат. Это нужно в первую очередь для перегруженных сайтов, например Facebook.

    Внутри Hadoop существует несколько проектов, которые превратились в отдельные стартапы: Cloudera, MapR и Hortonworks. Эти проекты — дистрибутивы или установочный пакет программы, которые обрабатывают большие данные.

    Архитектура Hadoop

    Источник

    Основные компоненты

    Hadoop разделен на четыре модуля: такое деление позволяет эффективно справляться с задачами для анализа больших данных.

    Hadoop Common набор библиотек, сценариев и утилит для создания инфраструктуры, аналог командной строки.

    Hadoop HDFS (Hadoop Distributed File System) иерархическая система хранения файлов большого размера с возможностью потокового доступа. Это значит, что HDFS позволяет легко находить и дублировать данные.

    HDFS состоит из NameNode и DataNode — управляющего узла и сервера данных. NameNode отвечает за открытие и закрытие файлов и управляет доступом к каталогам и блокам файлов. DataNode — это стандартный сервер, на котором хранятся данные. Он отвечает за запись и чтение данных и выполняет команды NameNode. Отдельный компонент — это client (пользователь), которому предоставляют доступ к файловой системе.

    MapReduce — это модель программирования, которая впервые была использована Google для индексации своих поисковых операций. MapReduce построен по принципу «мастер–подчиненные». Главный в системе — сервер JobTracker, раздающий задания подчиненным узлам кластера и контролирующий их выполнение. Функция Map группирует, сортирует и фильтрует несколько наборов данных. Reduce агрегирует данные для получения желаемого результата.

    YARN решает, что должно происходить в каждом узле данных. Центральный узел, который управляет всеми запросами на обработку, называется диспетчером ресурсов. Менеджер ресурсов взаимодействует с менеджерами узлов: каждый подчиненный узел данных имеет свой собственный диспетчер узлов для выполнения задач.

    Дополнительные компоненты

    Hive: хранилище данных

    Система хранения данных, которая помогает запрашивать большие наборы данных в HDFS. До Hive разработчики сталкивались с проблемой создания сложных заданий MapReduce для запроса данных Hadoop. Hive использует HQL (язык запросов Hive), который напоминает синтаксис SQL.

    Pig: сценарий преобразований данных

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

    Flume: прием больших данных

    Flume — это инструмент для приема больших данных, который действует как курьерская служба между несколькими источниками данных и HDFS. Он собирает, объединяет и отправляет огромные объемы потоковых данных (например файлов журналов, событий, созданных десктопными версиями социальных сетей) в HDFS.

    Zookeeper: координатор

    Zookeeper это сервис-координатор и администратор Hadoop, который распределяет информацию на разные сервера.

    Hadoop решает несколько ключевых задач по работе с большими данными:

    • Обеспечивает устойчивость. Данные, хранящиеся в любом узле, воспроизводятся в других узлах кластера. Это помогает избежать поломок. Если что-то случилось с одним из узлов, то всегда есть резервная копия данных, доступная в кластере.
    • Повышает скорость обработки данных. Файловая система Hadoop, параллельная обработка и модель MapReduce обеспечивают запуск сложных запросов в считанные секунды.
    • Обрабатывает разнообразные данные. HDFS имеет возможность хранить различные форматы данных, такие как неструктурированные (например видео), полуструктурированные (например файлы XML). Работа с разными форматами расширяет спектр возможностей программиста.

    Поделиться

    Скопировано

    0 комментариев

    Комментарии