首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MRJob中遍历各行

如何在MRJob中遍历各行
EN

Stack Overflow用户
提问于 2018-10-17 01:09:04
回答 1查看 210关注 0票数 0

我有一个文本文档,其中包含多行tweet,我需要在该文档上运行MapReduce作业。我使用Python和MRJob通过以下代码完成此操作:

代码语言:javascript
复制
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方法中的行来生成所有的键值对。我尝试过以下几种方法:

代码语言:javascript
复制
for line in lines

while(line)

但对于我正在使用的数据集,这两种方法都不起作用。我怎样才能正确地遍历它们呢?

EN

回答 1

Stack Overflow用户

发布于 2018-10-17 01:17:28

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

实例化类:

代码语言:javascript
复制
line_mapper = exerciseOne()
key_generator = line_mapper.mapper(None, text_blob)

其中text_blob是您链接的文本块。然后,您将能够使用for循环遍历key_generator对象

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52840671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档