mapReduce - изо всех сил пытается найти правильный номер - PullRequest
0 голосов
/ 21 октября 2018

, поэтому я буду честен, мне нужна помощь с домашней работой с MapReduce на MongoDB.

Мы используем для этой домашней работы набор данных "Zips", пример документа в этой коллекции выглядит следующим образом:

"id": "01035", "city": "HADLEY", "loc": [-72.571499, 42.36062], "pop": 4231, "state": "MA"}

В последнем вопросе этой домашней работы меня попросили сделать много вещей за одно задание mapReduce, в основном мне нужно было: вычислить среднюю численность населения и стандартное отклонение численности населения каждого штата.Теперь я понял, как рассчитать их, и уже сделал функцию уменьшения для них, моя единственная проблема в том, что я не могу понять, как найти число состояний, я знаю, что это 50, но я должен это выяснить, используяmapReduce ...

В одной работе mapReduce я мог бы выполнить:

var mymapfunction = function() {emit(1,this.state);};
var myreducefunction = function(key,values){
var nb=0; 
values.forEach(function(v){nb+=1;}); 
return nb;};
db.zips.mapReduce(mymapfunction, myreducefunction, {out:"countState"}).find()

Который возвращает 50, и это то, что я хочу.

Но до сих пор у меня естьпытался воспроизвести этот результат, одновременно ища все другие данные, которые меня просили, на одной работе, но без особого успеха ... Честно говоря, я долго занимался этим, пытаясь выяснить это самостоятельно, но я могуКажется, что я не прогрессирую, и это сводит меня с ума ... Любой способ, которым вы, ребята, могли бы помочь, будет оценен, даже если это всего лишь толчок в правильном направлении!

Кстати, моя функция карты должна быть выброшена:

  • количество штатов: nb
  • общая численность населения: сумма
  • численность населения наиболее населенного штата: max

avg, STD и дисперсия через Fфункция inalize.

Я только изо всех сил пытаюсь найти способ рассчитать количество состояний, остальное я могу управлять!

Также я хотел бы сказать, что, выполняя задание mapReduceЧтобы решить эту проблему, мне удалось это сделать, но, в то же время, выполняя все остальное, что у меня просят, мне как-то не удается найти значение, которое я ищу ...

...