如何遍历MRJob中的行

2024-10-01 00:16:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个文本文档,里面有我需要运行MapReduce作业的tweet行。我使用Python和MRJob处理以下代码:

from mrjob.job import MRJob
import re
import datetime

class exerciseOne(MRJob):

    def mapper(self, _, line):
        fields = line.split(";")
        epochtemp = int(fields[0])
        difference = epochtemp/1000.0
        key = datetime.datetime.fromtimestamp(difference).strftime('%Y-%m-%d')
        yield(key, 1)

if __name__ == '__main__':
    exerciseOne.run()

需要分析的文本的一个小样本包含在这里:https://textuploader.com/dnx59如果有人感兴趣的话。你知道吗

我遇到的问题是我不知道如何遍历mapper方法中的行来生成所有的键值对。我尝试了以下方法:

for line in lines

以及

while(line)

但它们都不适用于我使用的数据集。如何正确地循环这些内容?你知道吗


Tags: 方法keyimportfieldsdatetime作业line文本文档
1条回答
网友
1楼 · 发布于 2024-10-01 00:16:23

不熟悉这个库,但我认为您要寻找的模式是:

实例化类:

line_mapper = exerciseOne()
key_generator = line_mapper.mapper(None, text_blob)

其中text_blob也是您链接的文本块。然后可以使用for循环迭代key_generator对象

相关问题 更多 >