Обработка больших данных. Джейд Картер. Читать онлайн. Newlib. NEWLIB.NET

Автор: Джейд Картер
Издательство: Автор
Серия:
Жанр произведения:
Год издания: 2024
isbn:
Скачать книгу
инструментов и приложений, которые используют распределённые вычисления и большие данные, предоставляя надёжную и масштабируемую инфраструктуру для хранения и обработки информации. В конечном счёте, HDFS стал ключевым элементом, благодаря которому Hadoop получил широкое распространение в мире обработки больших данных и обеспечил революцию в этой области, позволив организациям эффективно работать с огромными объёмами информации. (Рис. 1)

       Общая схема HDFS

      Имя узла (NameNode)

      Расположение: В центре схемы.

      Функции: Управляет метаданными (структурой каталогов, размещением блоков и информацией о репликации). Служит центральным координационным элементом.

      Данные узлы (DataNodes)

      Расположение: Окружает NameNode. Обычно несколько DataNodes.

      Функции: Хранят фактические данные в виде блоков и обеспечивают операции чтения и записи.

      Блоки данных

      Расположение: На DataNodes.

      Функции: Файлы делятся на блоки, которые хранятся на разных DataNodes. Каждый блок имеет несколько реплик.

      Клиенты

      Расположение: Снаружи от NameNode и DataNodes.

      Функции: Запрашивают чтение или запись данных в HDFS.

      Соединения и поток данных

      Связь между клиентами и NameNode

      Описание: Клиенты отправляют запросы на NameNode для получения информации о размещении блоков и для доступа к данным.

      Связь между NameNode и DataNodes

      Описание: NameNode управляет метаданными и информирует DataNodes о том, какие блоки данных где хранятся и каковы их реплики.

      Связь между DataNodes

      Описание: DataNodes обмениваются информацией о состоянии блоков, например, если необходимо создать новые реплики.

      – MapReduce

      MapReduce – это мощная модель программирования и фреймворк, разработанный Google для обработки и генерации больших наборов данных в распределенных вычислительных средах. В основе MapReduce лежит простая, но эффективная идея: разбиение задачи на более мелкие, независимые подзадачи, которые могут выполняться параллельно на различных узлах кластера, а затем объединение полученных результатов для получения окончательного ответа. Этот подход позволяет эффективно использовать ресурсы распределённых систем и обрабатывать огромные объёмы данных за относительно короткое время.

      MapReduce состоит из двух ключевых этапов: Map и Reduce.

      1. Этап Map:

      – Функция Map обрабатывает входные данные и преобразует их в набор пар ключ-значение (key-value pairs). Этот процесс можно представить как фильтрацию и сортировку данных. Каждый блок данных из исходного набора данных передаётся в функцию Map, которая производит одну или несколько записей (пар ключ-значение) для дальнейшей обработки.

      – Пример: Представьте, что вам нужно посчитать количество каждого слова в большом наборе текстовых документов. Функция Map будет считывать текст, разбивать его на слова и генерировать пары ключ-значение, где ключ – это слово, а значение – единица (1), обозначающая одно появление слова.

      2.