parent
9e58d37a8c
commit
20cbaa1fa7
@ -1,10 +1,8 @@
|
|||||||
#!/usr/bin/env python
|
|
||||||
from operator import itemgetter
|
from operator import itemgetter
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
current_word = None
|
# Lista do przechowywania wyników
|
||||||
current_count = 0
|
results = []
|
||||||
word = None
|
|
||||||
|
|
||||||
# input comes from STDIN
|
# input comes from STDIN
|
||||||
for line in sys.stdin:
|
for line in sys.stdin:
|
||||||
@ -22,18 +20,12 @@ for line in sys.stdin:
|
|||||||
# ignore/discard this line
|
# ignore/discard this line
|
||||||
continue
|
continue
|
||||||
|
|
||||||
# this IF-switch only works because Hadoop sorts map output
|
# Dodaj słowo i jego długość do listy wyników
|
||||||
# by key (here: word) before it is passed to the reducer
|
results.append((word, len(word), count))
|
||||||
if current_word == word:
|
|
||||||
current_count += count
|
|
||||||
else:
|
|
||||||
if current_word:
|
|
||||||
# write result to STDOUT
|
|
||||||
print('%s\t%s' % (current_word, current_count))
|
|
||||||
current_count = count
|
|
||||||
current_word = word
|
|
||||||
|
|
||||||
# do not forget to output the last word if needed!
|
# Posortuj wyniki po długości słowa
|
||||||
if current_word == word:
|
results.sort(key=lambda x: x[1])
|
||||||
print('%s\t%s' % (current_word, current_count))
|
|
||||||
|
|
||||||
|
# Wypisz posortowane wyniki
|
||||||
|
for result in results:
|
||||||
|
print('%s\t%s' % (result[0], result[2]))
|
||||||
|
Loading…
Reference in New Issue
Block a user