在写 Hadoop 的一个作业,改写 wordcount 程序,要求统计每个词在不同文件中出现的次数。
我的思路是,mapper 中每个词作为 key,每个词的文件名作为 value
在 reducer 中,对 values 用 hashmap 统计文件名出现的次数。 最后遍历 hashmap。
例如两个文件 a.txt ,b.txt
a.txt
apple banana apple
b.txt
banana
对应 apple 这个 key,hashmap 应该的结果是{a.txt=2}
对应 banana 这个 key,hashmap 应该的结果是{a.txt=1,b.txt=1}
但是我得到的结果是{{a.txt=2}=1}
{{a.txt=1}=1,{ b.xtx=1}=1}
看起来好像是每一个 hashmap 都重复操作了一次
我去找我们老师,老师也找不到 bug。只好上来问大神。
我的思路是,mapper 中每个词作为 key,每个词的文件名作为 value
在 reducer 中,对 values 用 hashmap 统计文件名出现的次数。 最后遍历 hashmap。
例如两个文件 a.txt ,b.txt
a.txt
apple banana apple
b.txt
banana
对应 apple 这个 key,hashmap 应该的结果是{a.txt=2}
对应 banana 这个 key,hashmap 应该的结果是{a.txt=1,b.txt=1}
但是我得到的结果是{{a.txt=2}=1}
{{a.txt=1}=1,{ b.xtx=1}=1}
看起来好像是每一个 hashmap 都重复操作了一次
我去找我们老师,老师也找不到 bug。只好上来问大神。