Skip to content

Лабораторные работы по предмету "Разработка параллельных и распределенных программ"

Notifications You must be signed in to change notification settings

Vigorge/ParallelAndDistributed

Repository files navigation

ParallelAndDistributed

Содержание

Описание проекта
Лабораторная работа 1 (сдана)
Лабораторная работа 2 (сдана)
Лабораторная работа 3 (сдана)
Лабораторная работа 4 (сдана)
Лабораторная работа 5 (сдана)

Описание проекта

В проекте представленны лабораторные работы по предмету "Разработка параллельных и распределенных программ". Для сборки проекта используется фреймворк Apache Maven и каждая работа расположена в соответствующем пакете в директории src/main/java. Файлы, необходимые для некоторых лабораторных работ, находятся в директории inputFiles.
Также лабораторные работы 1-3 выполняются с использованием Hadoop.
Для отслеживание процесса написания кода используется скрипт gitwatch, автоматически создающий коммиты с изменениемя в файлах проекта.

Лабораторные работы

Лабораторная работа 1

Статус: сдана
Цель: знакомство с системой Hadoop
Описание работы:
Программа формирует частотный словарь для текста книги "Война и мир".
Package: lab1
Необходимые файлы: warandpeace1.txt
Запуск программы:

export HADOOP_CLASSPATH=target/PDlabs-1.0.jar
hadoop lab1.WordCountApp warandpeace1.txt outputLab1

Лабораторная работа 2

Статус: сдана
Цель: разработка программы, реализующей задачу связывания наборов данных по ключу методом Reduse side join
Описание работы:
Программа связывает две таблицы (таблицы сопоставления кодов аэропортов их названиям и таблицы с информацией о совершенных рейсах) по коду аэропорта прибытия (DEST_AEROPORT_ID) и подсчитывает для каждого минимальное, максимальное и среднее время задержки.
Package: lab2
Необходимые файлы: airports.csv flights.csv
Запуск программы:

export HADOOP_CLASSPATH=target/PDlabs-1.0.jar
hadoop lab2.AirportApp airports.csv flights.csv outputLab2

Лабораторная работа 3

Статус: сдана
Цель: знакомство с работой Apache Spark
Описание работы:
На основании данных двух таблиц программа подсчитывает для каждой пары <аэропорт вылета, аэропорт прибытия> максимальное время опаздания и проценты опоздавших и отмененных рейсов. В каждой паре коды аэропортов заменяются названиями.
Package: lab3
Необходимые файлы: airports.csv flights.csv
Запуск программы:

spark-submit --class lab3.CountDelayApp --master yarn-client --num-executors target/PDlabs-1.0.jar airports.csv flights.csv outputLab3

Лабораторная работа 4

Статус: ожидает проверки
Цель: знакомство с Actor based framework
Описание работы:
Программа представляет из себя приложение для тестирования, основанное на AKKA Actor System и позволяющее с помощю HTTP запросов отправлять задачу на тестирование и получать результаты тестов.
Package: lab4
Запуск программы:

mvn compile
mvn exec:java -Dexec.mainClass="lab4.TaskTestingApp"
//далее обращение к серверу с помощью curl

Лабораторная работа 5

Статус: ожидает проверки
Цель: знакомство с AKKA streams
Описание работы:
Программа, основываясь на AKKA streams, позволяет подсчитать среднее время обращения к сайту, а также поддерживает кэширование запросов. Package: lab4
Запуск программы:

mvn compile
mvn exec:java -Dexec.mainClass="lab5.ConnectTimeApp"
//далее обращение к серверу с помощью curl, например:
curl -X GET 'http://localhost:8088/?connect=http://rambler.ru&repeat=20'

About

Лабораторные работы по предмету "Разработка параллельных и распределенных программ"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages