На нашем ресурсе вы можете полностью погрузиться в мир книги «Введение в облачные и распределенные информационные системы» — читайте её онлайн бесплатно в полной, несокращённой версии. Если предпочитаете слушать — воспользуйтесь аудиоформатом; хотите сохранить — скачайте через торрент в fb2. Жанр произведения — Знания и навыки, Компьютерная литература, Книги о компьютерах. Также на странице доступно подробное описание, авторская аннотация, краткое содержание и живые отзывы читателей. Мы постоянно пополняем библиотеку и улучшаем сервис, чтобы создавать лучшее пространство для всех ценителей качественной литературы.
Введение в облачные и распределенные информационные системы

Автор
Дата выхода
29 декабря 2020
🔍 Загляните за кулисы "Введение в облачные и распределенные информационные системы" — аннотация, авторский взгляд и ключевые моменты
Перед погружением в полный текст предлагаем познакомиться с произведением поближе. Здесь собраны авторские заметки, аннотация и краткое содержание "Введение в облачные и распределенные информационные системы" — всё, что поможет понять глубину замысла и подготовиться к чтению. Материалы представлены в оригинальной авторской редакции (Тимур Машнин) и сохраняют аутентичность произведения. Если чего-то не хватает — сообщите нам в комментариях, и мы дополним описание. Читайте мнения других участников сообщества: их отзывы часто раскрывают скрытые смыслы и добавляют новые грани понимания. А после прочтения обязательно вернитесь сюда — ваш отзыв станет ценным вкладом в общее обсуждение книги.
Описание книги
Облачные и распределенные вычислительные системы — это быстро развивающаяся IT-область хранения и обработки данных. Современные облачные и распределенные вычислительные системы строятся на основе общих концепций и алгоритмов, таких как облако, MapReduce, NoSQL базы данных, распределенные алгоритмы, масштабируемость и многое другое. Познакомьтесь с этими фундаментальными понятиями облачных и распределенных информационных систем и узнайте, как эти системы работают изнутри.
📚 Читайте "Введение в облачные и распределенные информационные системы" онлайн — полный текст книги доступен бесплатно
Перед вами — полная электронная версия книги "Введение в облачные и распределенные информационные системы", адаптированная для комфортного онлайн-чтения. Мы разбили произведение на страницы для удобной навигации, а умная система запоминает, на какой странице вы остановились — можно закрыть браузер и вернуться к чтению позже, не тратя время на поиски. Персонализируйте процесс: меняйте шрифты, размер текста и фон под свои предпочтения. Погружайтесь в мир литературы где угодно и когда угодно — любимые книги теперь всегда под рукой.
Текст книги
После результата map, у нас есть ввод для reduce.
Reduce производит слияние промежуточных результатов в один результат, исходя из ключей значений.
Как распараллелить эту фазу reduce?
Фаза reduce не обрабатывает эти записи независимо, другими словами, одна запись и другая запись должны обрабатываться вместе, так как они имеют одинаковые ключи.
Таким образом, единственный способ распараллелить этот процесс, это разделить задачи reduce по ключам.
Существуют разные способы разбиения ключей на задачи.
Один из способов разделения – это использование хэшей.
Вы берете ключ, и обрабатываете его хеш-функцией.
Затем делите хэш на количество задач reduce и в остатке от деления получаете к какой reduce задаче данный ключ относится.
Например, если есть 10 задач reduce, эта операция вернет значения от 0 до 9 для всех ключей.
У парадигмы MapReduce есть реализация с открытым исходным кодом Apache Hadoop, это набор утилит, библиотек и фреймворк для разработки и выполнения распределённых программ, работающих на кластерах из сотен и тысяч узлов.
Итак, вот что такое Map в Hadoop.
У вас есть MapClass, который расширяет базовый класс и реализует интерфейс.
И главная функция здесь – это map.
Эта функция принимает значение, которое в этом случае является текстом.
Значением может быть одна строка текста во входном файле.
Эта строка разбивается на слова.
И для каждого слова вы выводите пару ключ-значение.
Таким образом это промежуточная выходная пара ключ-значение.
Здесь у нас есть ReduceClass, который имеет функцию reduce, получающую на вход ключ и значения, потому что у вас могут быть много значений, связанных с данным ключом.
Эта функция reduce вызывается для каждого ключа, который относится к данной задаче reduce.
Таким образом, reduce будет проходить через все значения и суммировать их и вырабатывать пару «ключ-значение», где ключ совпадает с ключом ввода, а значение – фактически сумма входных значений.
Также у нас есть некоторый код, который имеет функцию запуска, указывая имя работы, определяя ключи и выходные значения, и в конце запуская работу.
Посмотрим пример приложения, который использует MapReduce.
Это распределенный grep.
Предположим, у вас есть большой набор файлов с большими текстами в них.











