Паттерны проектирования MapReduce
Рассмотрение паттернов проектирования MapReduce запросов, включающих в себя фильтрующие паттерны, суммирующие и структурные паттерны. Разработка программных кодов для решения задач, модификация исходных файлов, визуализация результатов их выполнения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | практическая работа |
Язык | русский |
Дата добавления | 24.04.2022 |
Размер файла | 922,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Ордена трудового Красного Знамени
Федеральное государственное бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
Кафедра «Интеллектуальные системы в управлении и автоматизации»
Практическая работа
«Паттерны проектирования MapReduce»
по дисциплине: Big data. Методы и средства анализа
Выполнил:
Студент группы М272001
Бугаева Г.М.
Проверила:
д. ф.-м.н, профессор Воронова Л.И.
Москва 2021
Вводные данные
Цель: В данном практикуме рассматриваются паттерны проектирования MapReduce запросов, включающие в себя: фильтрующие паттерны; суммирующие паттерны; структурные паттерны.
Задачи: выполнить MapReduce-запросы при помощи следующих шаблонов: паттерн проектирования программный код
1. Фильтрующие паттерны. Реализовать вывод строк, состоящих из одного предложения или меньше.
2. Фильтрующие паттерны. Реализовать вывод топ-10 самых длинных постов с форума.
3. Суммирующие паттерны. Составить инвертированный индекс по текстам сообщений на форуме.
4. Суммирующие паттерны. Найти корреляцию между днем недели и суммой денежных средств, которые потрачены на предметы.
5. Суммирующие паттерны. Подсчитать среднеарифметического значения всех покупок, совершенных в воскресенье, с использованием Combiner.
6. Структурные паттерны. Объединить два набора данных: сообщения с форума и пользователей по полю id-автора.
Выполнение
1) Фильтрующие паттерны. Реализовать вывод строк, состоящих из одного предложения или меньше.
Для решения задачи разработан программный код (рис. 1)
Рисунок 1 - Программный код
Результат выполнения программного кода:
Рисунок 2 - Результат выполнения
2) Допишите код программы mapper, которая находит топ-10 самых длинных постов с форума.
Для решения задачи разработан программный код (рис. 3)
Рисунок 3 - Программный код
Результат выполнения программного кода (рис. 4):
Рисунок 4 - Результат 7
3) Напишите MapReduce-запрос, реализующий суммирующий паттерн для составления инвертированного индекса по текстам сообщений на форуме. Для каждого слова надо вывести все id сообщений, в которых данное слово встретилось. Найти: сколько раз слово «fantastic» встретилось на форуме и выписать id всех записей, в которых было слово «fantastically».
Для решения задачи модифицируем исходные файлы mapper.py и reducer.py: Mapper (рис. 5).
Рисунок 5 - Mapper.py
Reducer (рис. 6):
Рисунок 6 - Reducer.py
Результат (рис. 7):
Рисунок 7 - Результат
4) Требуется узнать, есть ли корреляция между днем недели и суммой денежных средств, которые потрачены на предметы. Задача - узнать среднее и стандартное отклонение для продажи в день недели.
Для решения задачи модифицируем исходные файлы mapper.py и reducer.py:
Mapper (рис. 8):
Рисунок 8 - Mapper.py
Reducer (рис. 9):
Рисунок 9 - Reducer.py
Результат (рис. 10):
Рисунок 10 - Результат
5) Напишите MapReduce-задачу, реализующую суммирующий паттерн для подсчета среднеарифметического значения всех покупок, совершенных в воскресенье, с использованием Combiner и посмотрите значение reducer input records, перейдя по ссылке в терминале после выполнения запроса.
Для этого выполним следующие команды в терминале:
$ gedit ~/.bashrc
В открывшемся файле изменим строку
cdh4.1.1.jar -mapper $1 -reducer $2 -file $1 -file $2 -input $3 -output $4
допишем:
cdh4.1.1.jar -mapper $1 -reducer $2 -combiner $2 -file $1 -file $2 -input $3 -output $4
Сохраним:
$ source ~/.bashrc
Теперь MapReduce-запрос будет использовать Combiner.
Результат отчета задачи до включения Combiner:
Результат отчета задачи после включения Combiner:
6) Объедините два набора данных: сообщения с форума и пользователей по полю id-автора.
Используем следующие поля для сообщений с форума:
author_id, id, title, tagnames, node_type, parent_id, abs_parent_id, added_at, score
и пользователя с форума:
user_id, "A", reputation, gold, silver, bronze
Mapper (рис.11):
Рисунок 11 - Mapper.py
Reducer (рис.12):
Рисунок 12 - Reducer.py
Результат (рис.13):
Рисунок 13 - Результат
Вывод
В результат проведения практикума были рассмотрены паттерны проектирования MapReduce запросов, включающие в себя: фильтрующие паттерны; суммирующие паттерны; структурные паттерны.
Размещено на Allbest.ru
...Подобные документы
Исследование приемов объектно-ориентированного проектирования. Описания паттернов поведения, предназначенных для распределения обязанностей между объектами в системе. Признаки применения, использования паттерна "Декоратор". Принцип действия репозитория.
реферат [686,9 K], добавлен 21.09.2013Требования, предъявляемые к веб-представительству, потребности пользователей, администраторов. Структура входных и выходных данных. Проектирование на языке UML. Архитектура Microsoft.NET Framework 2.0. Принципы работы NHibernate. Паттерны проектирования.
дипломная работа [1,3 M], добавлен 26.01.2011Принципы разработки программного обеспечения, паттерны проектирования. Прототип информационно-аналитической системы MCControl для поддержки процесса техобслуживания и ремонта оборудования дискретного производства малого производственного предприятия.
курсовая работа [81,7 K], добавлен 10.01.2014Изучение сущности циклических кодов - семейства помехоустойчивых кодов, включающих в себя одну из разновидностей кодов Хэмминга. Основные понятия и определения. Методы построения порождающей матрицы циклического кода. Понятие открытой системы. Модель OSI.
контрольная работа [99,5 K], добавлен 25.01.2011Основные типы шаблонов проектирования. Типы связей, которые могут применяться при объектно-ориентированном программировании. Обзор и реализация порождающих, структурных и поведенческих шаблонов проектирования. Шаблоны "Command", "Front Controller".
курсовая работа [3,1 M], добавлен 01.06.2014Создание программных комплексов для систем автоматизированного проектирования с системами объемного моделирования и экспресс-тестами. SolidWorks - мировой стандарт автоматизированного проектирования. Пользовательский интерфейс, визуализация модели.
курсовая работа [3,2 M], добавлен 13.10.2012Анализ проектирования базы данных, построение форм и запросов. Создание программы работы городской телефонной сети с помощью метода канонического проектирования в Microsoft Access 2002. Смета затрат на разработку базы данных "Городская телефонная сеть".
курсовая работа [33,7 K], добавлен 15.06.2011Информационная поддержка деятельности магазина по продаже компьютеров. Работа с программой. Этапы проектирования базы данных. Анализ информационных задач. Выбор программных средств. Особенности проектирования программного комплекса информационной системы.
курсовая работа [1,8 M], добавлен 09.06.2016Рассмотрение теоретических основ проектирования. Анализ предметной области и разработка таблиц базы данных. Заполнение таблиц, поиск данных с помощью фильтра. Создание форм, разработка запросов. Создание и настройка отчетов, составление приложения.
курсовая работа [2,8 M], добавлен 01.06.2014Выбор и обоснование аппаратного обеспечения. Типы архитектуры веб-приложений. Шаблоны проектирования архитектуры приложения. Разработка инфологической модели базы данных. Подготовка к разработке приложения. Рассмотрение причин возникновения паттернов.
дипломная работа [3,0 M], добавлен 27.11.2022Использование информационных технологий для решения транспортных задач. Составление программ и решение задачи средствами Pascal10; алгоритм решения. Работа со средствами пакета Microsoft Excel18 и MathCad. Таблица исходных данных, построение диаграммы.
курсовая работа [749,1 K], добавлен 13.08.2012Ландшафт, ландшафтные объекты и способы их описания. Основные этапы проектирования. Особенности проектирования ландшафтных объектов. Обоснование необходимости автоматизации процесса проектирования ландшафтных объектов. Разработка АРМ.
дипломная работа [2,9 M], добавлен 06.12.2006Характеристика программных геномных средств для визуализации, которые облегчают анализирование задач и позволяют исследовать, изучать, толковать и управлять своими данными. Визуализация секвенирования данных. Изучение возможностей геномных браузеров.
реферат [37,9 K], добавлен 11.11.2010Цели и задачи проектирования информационной системы, основные требования к ней, внутренняя структура и взаимосвязь отдельных компонентов. Обзор и анализ существующих программных разработок. Обоснование стратегии автоматизации и технологии проектирования.
курсовая работа [3,3 M], добавлен 12.01.2015Эволюция систем автоматизированного проектирования от простых средств двухмерного рисования и разработки чертежей до программных продуктов, включающих поддержку цикла разработки и производства изделия. Требования к пользовательскому интерфейсу САПР.
курсовая работа [274,5 K], добавлен 19.12.2014Обзор моделей анализа и синтеза модульных систем обработки данных. Модели и методы решения задач дискретного программирования при проектировании. Декомпозиция прикладных задач и документов систем обработки данных на этапе технического проектирования.
диссертация [423,1 K], добавлен 07.12.2010AutoCAD как одна из самых популярных графических систем автоматизированного проектирования, круг выполняемых ею задач и функций. Технология автоматизированного проектирования и методика создания чертежей в системе AutoCAD. Создание и работа с шаблонами.
лекция [58,9 K], добавлен 21.07.2009Написание программ для решения различных выражений и задач. При решении каждой задачи предусмотрены: анализ введенных с клавиатуры исходных данных, выведение условия для выхода и вывод результатов. Проиллюстрированы результаты работы каждой программы.
контрольная работа [259,8 K], добавлен 22.05.2010Обзор средств проектирования баз данных. Технологические платформы баз данных. Основные этапы проектирования. Разработка логической и физическойц модели. Генерация модели в MS Access 2003. Реализация форм и запросов базы данных. Требования по установке.
курсовая работа [3,0 M], добавлен 28.12.2015Способы моделирования типовых геометрических объектов. Методы решения инженерно-геометрических задач в системах автоматизированного проектирования. Правила выполнения чертежей деталей, сборочных единиц, электрических схем по современным стандартам.
методичка [44,6 K], добавлен 29.11.2010