问题标签 [mrjob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1645 浏览

python - MRJob:socket.error:[Errno 104] 连接被对等方重置

简而言之:使用 MRJob 时出现“socket.error: [Errno 104] Connection reset by peer”异常。该脚本实际上可以访问 S3,因为它确实创建了存储桶并上传了一些小文件(我已通过 AWS 控制台手动检查)。但是最大的文件 - INPUT - 没有上传。嘿,这只是 7GB 的测试数据!

试了4次,总是出错。

mrjob==0.4.2

配置

追溯

0 投票
1 回答
122 浏览

python - mrjob - 源目录的自动 tar

我使用 mrjob 创建了一个 Amazon EMR 作业。我的 mapreduce 作业继承自一个公共帮助程序类,以使我更容易解析我正在解析的 apache 日志,我继承的类在多个 mapreduce 作业之间共享,所以这是我的文件结构:

我想从本地机器自动 tar 完整的 src 目录,并让 mrjob 将其上传到 Amazon EMR。现在我有一个带有公共目录的 tar 文件 common.tar.gz 。这个tar我在mrjob.conf中添加到我的python包中,它工作正常,我想做的是自动创建common.tar.gz,是否支持mrjob来处理这个,如果没有,我有什么选择?

0 投票
2 回答
785 浏览

python - python map减少西里尔文字中的简单字数

我正在尝试使用 MRJob 实现一个非常基本的字数统计示例。使用 ascii 输入一切正常,但是当我将西里尔字母混合到输入中时,我得到类似这样的输出

据我了解,上面的第一行是西里尔字母“мир”的编码单次出现,这是关于我的示例输入文本的正确结果。这是MR代码

我在 Windows 上使用 Python 2.7 和 mrjob 0.4.2。我的问题是:

a)我如何设法在西里尔文输入上正确生成可读的西里尔文输出?b) 这种行为的根本原因是什么——是由于 python/MR 版本还是预计在非 Windows 上的工作方式不同——任何线索?

我正在重现 python -c "p​​rint u'мир'" 的输出

0 投票
1 回答
521 浏览

python - MapReduce:如何在映射器中跨多行跟踪状态(例如计算三元组)?

我正在尝试使用 Python 中的 mrjob 框架编写一个 MapReduce 程序来计算Trigram 。到目前为止,这就是我所拥有的:

可以看出,我没有处理三元组跨行拆分的情况(例如,第 3 行末尾的“它是”,第 4 行开头的“最好的时代” - 但我的代码会在这种情况下,不要捕获三元组“它是”!)。

如何跨多个映射调用保留状态,确保无论映射器由底层运行时分配作业,只计算连续行的三元组?我曾想过将每行的最后 2 个单词存储在 MRTrigram 类中的持久数据结构中,但后来我意识到我无法保证我是否在比较第 i 行和第 i+1 行(而不是第 i、j 行,其中j 可以在文档中的任何位置行!)。

有什么想法可以让我走上正轨吗?

0 投票
2 回答
1011 浏览

python - 如何将文件分成块以进行多处理

我有大约 1.5 Gb 的文件,我想将文件分成块,以便我可以使用多处理来使用 python 中的 pp(parallel python) 模块处理每个块。直到现在我已经在 python 中使用了 f.seek 但是它需要很多时间,因为它可能是逐字节地寻找增量。那么还有什么可以替代的方法呢?我可以通过python的mrjob(map-reduce包)来做到这一点吗?

示例代码:我正在做这样的事情

我的每一行包含一个 69 字节的元组数据,并且 Multi 函数被称为并行 n 时间(这里 n 等于槽)来完成这项工作

0 投票
2 回答
701 浏览

python - 如何使用 avro 文件作为 MRJob 作业的输入?

我需要将 avro 文件作为 mrjob hadoop 作业的输入。除非我将额外的命令传递给 hadoop 流 jar,否则我找不到任何有关如何执行此操作的文档。不过,这会使开发复杂化,因为我一直在使用inline跑步者在本地进行测试。

是否可以使用inline运行器通过 MRJob 读取 avro 文件?

0 投票
1 回答
80 浏览

emr - 是否可以在 mrjob 的后续步骤中添加额外的输入?

我有一个包含 3 个步骤的 mrjob。第二步期望输入第一步的结果以及来自 S3 的更多内容。

我知道我总是可以通过第一步“流式传输”它,这意味着发射是原样的,并且只在第二步中使用它,但我想避免这种情况。

有没有办法为 mrjob 中的后续步骤定义额外的输入?

0 投票
1 回答
307 浏览

java - 是否可以使用 Hadoop Streaming 处理多行记录?

我有这样的记录:

它们是多行的,但并不总是具有相同的行数,并且它们通常由换行符分隔。我如何将其转换为下面的输出?

Apache Pig 将每一行视为一条记录,因此它不适合此任务。我知道这篇关于处理多行记录的博客文章,但如果有更简单的解决方案,我不想深入研究 Java。有没有办法使用 Hadoop Streaming(或类似mrjob的框架)来解决这个问题?

0 投票
3 回答
5650 浏览

python - mrjob:示例如何自动知道如何在文本文件中查找行?

我正在尝试更好地理解 mrjob 的示例

我运行它

它按预期工作,但我不明白它是如何自动知道它将读取一个文本文件并按每一行分割的。而且我也不确定它的_作用。

据我了解,mapper()为每一行生成三个键/值对是否正确?如果我想处理文件夹中的每个文件怎么办?

并且reducer()自动知道如何添加每个键的值?

如果我想通过 map reduce 运行单元测试,mapper 和 reducer 会是什么样子?甚至有必要吗?

0 投票
2 回答
841 浏览

python - mrjob:无效的引导操作路径,必须是 Amazon S3 中的位置

我在 Windows 7 上。我安装了 mrjob,当我从网站运行示例 word_count 文件时,它在本地机器上运行良好。但是,尝试在 Amazon EMR 上运行它时出现错误。我什至测试了只用 boto 连接到 amazon s3 并且它可以工作。

mrjob.conf 文件

在我的 cmd 中运行以下命令

它产生

在此处输入图像描述

根据建议这是与 Windows 路径相关的问题,我仔细检查了源代码中的 parse.py,它似乎对处理窗口文件类型进行了相关检查

我不明白的是,即使在更新代码之后我仍然会收到错误消息,而且我不确定如何继续前进。