Как найти 20 самых посещаемых мест назначения из набора данных с помощью программы MapReduce? - PullRequest
0 голосов
/ 04 июня 2018

Описание набора данных туристического сектора:

Column 1: City pair (Combination of from and to): String  
Column 2: From location: String  
Column 3: To Location: String  
Column 4: Product type: Integer (1=Air, 2=Car, 3 =Air + Car, 4 =Hotel, 5=Air + Hotel, 6=Hotel + Car, 7 =Air +
Hotel + Car)  
Column 5: Adults Traveling: Integer  
Column 6: Seniors traveling: Integer  
Column 7: Children traveling: Integer  
Column 8: Youth traveling: Integer  
Column 9: Infant traveling: Integer  
Column 10: Air booking price: Float  
Column 11: Car booking price: Float  
Column 12: Hotel booking price: Float  
Column 13: Airline code: String  
Column 14: Airline name: String  
Column 15: Car vendor code: String  
Column 16: Hotel name: String  

1 Ответ

0 голосов
/ 04 июня 2018

Один из вариантов - запустить два задания MR:
job1 map: испускает ["To",1]
job1 reduce: находит количество по назначению и выводит ["To", count]
job2 map: испускает выводпредыдущее задание (как [count, "To"] или ["To", count])
job2 reduce (число редукторов = 1): сортирует и выводит 20 строк с самыми большими значениями count

Для таких задач запроса, как эта, предпочтительно использовать SQL-подобный механизм запросов, похожий на Apache Hive.Hive преобразует запрос в 2 задания Map-Reduce, указанные выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...