Hadoop новичок здесь ...
Я пишу алгоритм редуцирования карты. В качестве входных данных я получил JSON с участниками. Ввод JSON Участник может голосовать за песню. Мне нужно сложить, сколько голосов отдано песне в рейве ("rave_id")
Голос может быть +1 или -1, представленный логическим значением "preference"
: true = +1, false = -1.
Мне нужно, чтобы вывод mapreduce был .txt
файлом в этом формате.
"rave_ID_X" "song_ID_1" "Count_1"
"rave_ID_X" "song_ID_2" "Count_1"
"rave_ID_x" "song_ID_3" "Count_1"
Как я могу перебрать все элементы входного объекта JSON? Моя первая мысль - использовать в качестве ключа "rave_id" + "song_ID" и в качестве значения предпочтениялогическое значение?
Тогда в методе reduce
я могу использовать эту логику, чтобы уменьшить логические значения до подсчета голосов.
int sum = 0;
for ( String val: values){
if (val == "true"){
sum +=1;
}
else if (val == "false"){
sum -=1;
}
}
Но, как я могу вывести это в .txt
файл вместо json ?
Большое спасибо заранее!