Паттерны проектирования 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.2010

  • AutoCAD как одна из самых популярных графических систем автоматизированного проектирования, круг выполняемых ею задач и функций. Технология автоматизированного проектирования и методика создания чертежей в системе 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.