This repository was archived by the owner on Feb 6, 2026. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
Expand file tree
/
Copy path21.java
More file actions
57 lines (47 loc) · 1.52 KB
/
Copy path21.java
File metadata and controls
57 lines (47 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
Реализуйте reducer первой mapreduce задачи для расчета TF-IDF с помощью Hadoop Streaming.
Ключ входных данных составной: он содержит слово и номер документа через "#".
Ключом в выходных данных является слово, а значение состоит из двух элементов, разделенных табуляцией: номер документа и tf (сколько раз данное слово встретилось в данном документе).
Sample Input:
aut#1 1
aut#1 1
aut#1 1
aut#1 1
aut#2 1
aut#2 1
bene#2 1
de#2 1
mortuis#2 1
nihil#1 1
nihil#2 1
Caesar#1 1
Sample Output:
aut 1 4
aut 2 2
bene 2 1
de 2 1
mortuis 2 1
nihil 1 1
nihil 2 1
Caesar 1 1
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(final String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s, lastWord = null, lastKey = null;
int counter = 0;
while((s = br.readLine()) != null) {
String[] current = s.split("[#\t]");
if((!current[0].equals(lastWord) && lastWord != null) || (!current[1].equals(lastKey) && lastKey != null)) {
System.out.println(lastWord + "\t" + lastKey + "\t" + counter);
counter = 0;
}
lastWord = current[0];
lastKey = current[1];
counter++;
}
System.out.println(lastWord + "\t" + lastKey + "\t" + counter);
}
}