Родитель
							
								
									66eaf281a0
								
							
						
					
					
						Сommit
						7610e73e39
					
				| @ -0,0 +1,14 @@ | |||||||
|  | 1	0	{2,3} | ||||||
|  | 2	INF	{4,5,6,13} | ||||||
|  | 3	INF	{} | ||||||
|  | 4	INF	{7,8} | ||||||
|  | 5	INF	{9,10} | ||||||
|  | 6	INF	{7,9,11} | ||||||
|  | 7	INF	{} | ||||||
|  | 8	INF	{12,13} | ||||||
|  | 9	INF	{} | ||||||
|  | 10	INF	{} | ||||||
|  | 11	INF	{} | ||||||
|  | 12	INF	{} | ||||||
|  | 13	INF	{14} | ||||||
|  | 14	INF	{} | ||||||
| @ -0,0 +1,8 @@ | |||||||
|  | 1	0.125	{2,4} | ||||||
|  | 2	0.125	{3,5,7} | ||||||
|  | 3	0.125	{4,8} | ||||||
|  | 4	0.125	{5} | ||||||
|  | 5	0.125	{1} | ||||||
|  | 6	0.125	{1,3} | ||||||
|  | 7	0.125	{4} | ||||||
|  | 8	0.125	{2,4,6} | ||||||
											
												Двоичный файл не отображается.
											
										
									
								
											
												Двоичный файл не отображается.
											
										
									
								
											
												Двоичный файл не отображается.
											
										
									
								
											
												Двоичный файл не отображается.
											
										
									
								| @ -0,0 +1,153 @@ | |||||||
|  |  # Лабораторная работа №2. Реализация алгоритма MapReduce | ||||||
|  |   | ||||||
|  |   | ||||||
|  |  ## Цель | ||||||
|  |   | ||||||
|  |  * Научиться реализовывать алгоритмы в парадигме MapReduce | ||||||
|  |   | ||||||
|  | ## Выполнение | ||||||
|  | 
 | ||||||
|  | Защита лабораторной работы подразумевает наличие отчета, который должен содержать пункты задания, команды, которые вы вводите и ответы системы на них. | ||||||
|  | При необходимости - комментарии по полученным результатам. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Задачи | ||||||
|  | 
 | ||||||
|  | * Реализовать на языке Python алгоритм в парадигме MapReduce в соответствии с вариантом.  | ||||||
|  | * Запустить разработанный алгоритм в среде Hadoop. | ||||||
|  | * Убедиться в корректности полученных результатов. | ||||||
|  | * Сформировать отчет о выполненной работе | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Варианты заданий | ||||||
|  | 
 | ||||||
|  | #### 1. Сравнение посещаемости сайтов в разное время | ||||||
|  | 
 | ||||||
|  | __Дано__: ежедневные журналы посещений сайтов за три дня: | ||||||
|  | 
 | ||||||
|  | * [День 1](assets/visits1.txt) | ||||||
|  | * [День 2](assets/visits2.txt) | ||||||
|  | * [День 3](assets/visits3.txt) | ||||||
|  | 
 | ||||||
|  | Формат данных: | ||||||
|  | ``` | ||||||
|  | 19:05:44	telegram.com	622 | ||||||
|  | 01:08:01	vk.com	935 | ||||||
|  | 22:28:55	mail.ru	154 | ||||||
|  | 17:15:16	mail.ru	100 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Первый столбец - время посещения. | ||||||
|  | 
 | ||||||
|  | Второй столбец - сайт. | ||||||
|  | 
 | ||||||
|  | Третий столбец - продолжительность посещения в секундах. | ||||||
|  | 
 | ||||||
|  | __Требуется__: определить среднюю за три дня продолжительность посещения в первой и второй половине дня. | ||||||
|  | Алгоритм должен включать этап `combiner`. | ||||||
|  | 
 | ||||||
|  | Первая половина дня: с 00:00:00 по 12:59:59 | ||||||
|  | 
 | ||||||
|  | Вторая половина дня: с 13:00:00 по 23:59:59 | ||||||
|  | 
 | ||||||
|  | Формат вывода: | ||||||
|  | ``` | ||||||
|  | telegram.com 	510	234 | ||||||
|  | vk.com	384	651 | ||||||
|  | mail.ru	154	324 | ||||||
|  | ``` | ||||||
|  | Первый столбец - сайт. | ||||||
|  | 
 | ||||||
|  | Второй столбец - средняя продожительность посещения в первой половине дня в секундах. | ||||||
|  | 
 | ||||||
|  | Третий столбец - средняя продожительность посещения во второй половине дня в секундах. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### 2. Определение минимального расстояния до каждой вершины | ||||||
|  | 
 | ||||||
|  | __Дано__: [структура графа](assets/graph.txt) в виде списка смежности: | ||||||
|  | ``` | ||||||
|  | 1	0	{2,3,4} | ||||||
|  | 2	INF	{5,6} | ||||||
|  | 6	INF	{} | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Первый столбец - номер вершины. | ||||||
|  | 
 | ||||||
|  | Второй столбец - известное расстояние до данной вершины. | ||||||
|  | 
 | ||||||
|  | Третий столбец - список смежных вершин. | ||||||
|  | 
 | ||||||
|  | __Требуется__: рассчитать минимальное расстояние до каждой вершины используя метод поиска в ширину (BFS). | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | Формат вывода: | ||||||
|  | ``` | ||||||
|  | 1	0	{2,3,4} | ||||||
|  | 2	1	{5,6} | ||||||
|  | 6	2	{} | ||||||
|  | ``` | ||||||
|  | Структура такая же, как и у входного файла. | ||||||
|  | 
 | ||||||
|  | Вес всех ребер равен единице. | ||||||
|  | Обратить внимание, что данный алгоритм итеративный, т.е. требует нескольких запусков задачи MapReduce. | ||||||
|  | Итоговый результат должен отображать расстояние до __всех__ вершин графа. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### 3. PageRank | ||||||
|  | 
 | ||||||
|  | __Дано__: [Структура графа сети](assets/pagerank.txt) в виде ключа, веса PageRank и смежных вершин | ||||||
|  | ``` | ||||||
|  | 1	0.200	{2,4} | ||||||
|  | 2	0.200	{3,5} | ||||||
|  | 3	0.200	{4} | ||||||
|  | 4	0.200	{5} | ||||||
|  | 5	0.200	{1,2,3} | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | Параметры: | ||||||
|  | ``` | ||||||
|  | alpha = 0.1 | ||||||
|  | N = 5 | ||||||
|  | ``` | ||||||
|  | 
 | ||||||
|  | __Требуется__: рассчитать веса PageRank по прошествии 3 итераций. | ||||||
|  | 
 | ||||||
|  | ``` | ||||||
|  | 1	0.080	{2,4} | ||||||
|  | 2	0.170	{3,5} | ||||||
|  | 3	0.170	{4} | ||||||
|  | 4	0.290	{5} | ||||||
|  | 5	0.290	{1,2,3} | ||||||
|  | ``` | ||||||
|  | Структура такая же, как и у входного файла. Все округления до 3 знаков после запятой. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | #### 3. TF-IDF | ||||||
|  | 
 | ||||||
|  | __Дано__: [Текст трех произведений](assets/shakespear.txt). В начале каждой строки указан номер произведения. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | __Требуется__: рассчитать tf-idf вес каждого слова в каждом произведении. | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ### Вопросы | ||||||
|  | 
 | ||||||
|  | 1. Какие этапы существуют у MapReduce задач? | ||||||
|  | 2. В каком виде осуществляется передача данных между Map и Reduce? | ||||||
|  | 3. Как определяется число mapper-процессов в MapReduce задаче?  | ||||||
|  | 4. Как могут представляться графы в математическом виде? Как они обычно представляются в задачах MapReduce? | ||||||
|  | 5. В чем заключается и как работает алгоритм PageRank? | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
											
												Двоичный файл не отображается.
											
										
									
								
					Загрузка…
					
					
				
		Ссылка в новой задаче
	
	 Mokhov Andrey
						Mokhov Andrey