如何在 Python 中使用 MapReduce 计算单词序列在文件中出现的次数?

约翰怀特豪斯

考虑一个包含由空格分隔的单词的文件;用 Python 编写一个 MapReduce 程序,它计算每个 3 字序列在文件中出现的次数。

例如,考虑以下文件:

one two three seven one two three
three seven one
seven one two

每个 3 字序列在此文件中出现的次数为:

"three seven one" 2
"four seven one two" 1
"one two three" 2
"seven one two" 2
"two three seven" 1

格式代码:

from mrjob.job import MRJob


class MR3Nums(MRJob):
    
    def mapper(self,_, line):
        pass

    def reducer(self,key, values):
        pass
    

if __name__ == "__main__":
    MR3Nums.run()
缪安生

映射器应用于每一行,并且应该对每个 3 字序列进行计数,即产生 3 字序列以及计数为 1。

reducer 用keyand调用values,其中key是一个 3 字序列,values是一个计数列表(这将是一个 1 的列表)。reducer 可以简单地返回 3 字序列的元组和总出现次数,后者通过 sum 获得。

class MR3Nums(MRJob):
    
    def mapper(self, _, line):
        sequence_length = 3
        words = line.strip().split()
        for i in range(len(words) - sequence_length + 1):
            yield " ".join(words[i:(i+sequence_length)]), 1

    def reducer(self, key, values):
        yield key, sum(values)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用python计算csv文件中单词的出现次数?

如何在mapreduce中使用多个CSV文件

如何在python中使用faulhaber序列?

如何在python中计算两个单词序列

如何在python中使用文件路径?

如何计算单词在句子中出现的次数并打印出索引?(Python)

如何在MapReduce中使用多个字段?

如何在MapReduce hadoop中使用GeoLite数据库?

如何在C中使用pthread计数单词出现的次数?

如何在python文件中使用外部代码python

如何高效统计每个单词在Python中出现的次数

如何使用MapReduce处理日志文件

如何使用python计算字符串中单词的所有出现次数

如何使用Python计算字符串中单词出现的次数

如何使用bash脚本计算单词中出现最多的3个字母的序列

如何在python中使用子列表执行计算

如何在python中使用shapely计算重心?

如何在 Python 中使用 enumerate 来计算列表的 STD?

如何在python中使用多个json计算相同的值

如何在python中使用numpy.fft计算主频

如何在主python文件中使用多个.ui文件

如何在Python中使用子流程来终止文件

如何在Python中使用通配符复制多个文件?

如何在python代码中使用grpc文件?

如何在Python中使用输入和输出文件

如何在python中使用print语句测试文件写入

如何在Python中使用XSLT转换XML文件?

如何在Python中使用“ with open”打开多个文件?

如何在Python Linux中使用内存映射文件