10 from mpi4py
import MPI
14 file_name =
"../LICENSE" 18 def read_words_from_a_file(kv, kvi, kvo, i, *_data):
19 file_ = open(file_name,
"r") 21 words = re.split(
r"\W+", line.strip())
27 def print_top_five(kv, kvi, kvo, i, *_data):
30 if (kmr.rank == 0
and i < 5):
31 print(
"#%s=%d" % (v, int(0 - k)))
33 def sum_counts_for_a_word(kvvec, kvi, kvo, *_data):
40 if (kmr.rank == 0): print(
"Ranking words...")
42 kvs0 = kmr.emptykvs.map_once(
False, read_words_from_a_file, key=
"cstring")
44 kvs2 = kvs1.reduce(sum_counts_for_a_word, key=
"cstring", value=
"integer")
47 kvs4.map(print_top_five, output=
False, nothreading=
True)