问题标签 [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 投票
2 回答
1099 浏览

python-2.7 - 未能在 python 中使用 mapreduce

我正在尝试使用 python mrjob 学习 mapreduce 程序。我收到以下错误:

追溯:

我手动执行了命令,它在那里工作正常,但是当我尝试执行我的程序时它不起作用。由于刚开始学习,有人可以建议我必须选择什么图书馆。根据一些博客,一些图书馆有很好的文档,一些图书馆有更好的性能和....我遇到了下面看起来更旧的帖子 http://blog.cloudera.com/blog/2013/01/a-guide-to-python -frameworks-for-hadoop/

但是最近有很多图书馆得到了更新。所以有人可以建议我图书馆我可以开始..

0 投票
1 回答
3791 浏览

python - 为什么在使用 mrjob 运行 python 文件时出现“WindowsError [Error5] Access is denied”

我正在尝试在 python 文件中使用 mrjob 并在命令行中运行它,但我一直收到错误日志:</p>

python文件真的很简单:</p>

我一直在尝试解决这个问题几个小时,但没有成功......希望有人能帮助我。谢谢!

0 投票
1 回答
553 浏览

python - 在 CDH 虚拟机上找不到 python mrjob 模块

我正在使用 Mrjob 在 Hadoop 中运行 python 代码。我在单节点集群上使用带有虚拟机的 CDH 包。当我在本地测试代码时,我的 mrjob 运行正确,但是当我在 Hadoop 集群上运行时,它会抛出错误:

No module named mrjob

当我在 python 之前删除“sudo”命令时,我收到以下消息。

在没有 sudo 的情况下,它似乎无法在 hdfs 上“mkdir”,但使用 sudo 它无法找到 mrjob。我真的很困惑......

非常感谢!!

0 投票
1 回答
955 浏览

hadoop - Hadoop 重新启动时删除 MapReduce 历史记录

我正在使用 TestDFSIO 和 TeraSort 基准工具执行几个 Hadoop 测试。我基本上是在测试不同数量的数据节点,以评估处理能力和数据节点可扩展性的线性度。

在上面提到的过程中,我显然不得不多次重启所有 Hadoop 环境。每次我重新启动 Hadoop 时,都会删除所有 MapReduce 作业,并且作业计数器从“job_2013*_0001”重新开始。出于比较的原因,保持之前启动的所有 MapReduce 作业对我来说非常重要。所以,我的问题是:

¿ 如何避免 Hadoop 在重新启动后删除所有 MapReduce 作业历史记录?¿ Hadoop 环境重启后是否有一些属性可以控制作业删除?

谢谢!

0 投票
2 回答
1233 浏览

hadoop - s3distcp 错误“参数 '--arg' 不匹配”

我正在尝试将 s3distcp 用于 EMR 作业并遇到此异常:

控制器显示它正在运行:

这对我来说看起来很好。有人知道为什么它不能匹配 --arg 吗?

谢谢!

0 投票
1 回答
2710 浏览

python - mrJob python mapReduce word_count.py

我刚刚开始使用 mrJob(python 的 mapReduce)并且是 MapReduce 范例的新手,我想了解有关 MRJob 文档站点上的 word_count.py 教程的以下信息。

文档说,如果我们创建一个 word_count.py 并使用一些文本文件运行它,它将计算并返回文本文件中的行数、字符数和单词数。这是他们用于 word_count.py 的代码:

这里我了解到我们扩展了 MRJob 类并覆盖了 mapper 和 reducer 方法。但是我没有得到的是在执行过程中,我们通过传递整个文本文件来执行,如下所示:

那么映射器如何知道如何一次解析一行呢?基本上我的问题是在这种情况下,上面定义的 mapper() 函数的输入是什么?它是整个文件的内容还是一次一行。如果是单行,MRJob 代码的哪一部分负责一次向 mapper() 函数提供单行。希望我已经让我原本含糊不清的问题变得不那么含糊了,但这让我完全被难住了。任何帮助,将不胜感激。

提前致谢!

0 投票
1 回答
4221 浏览

python - Map-Reduce/Hadoop 按整数值排序(使用 MRJob)

这是一个简单的 Map-Reduce 排序功能的 MRJob 实现。在beta.py

我使用文本运行它:

可以使用以下命令运行它:

现在的问题是假设键是类型的输出排序string(这可能是这里的情况)。输出是:

我想要的输出是:

我不确定这是否与摆弄 MRJob 中的协议有关,因为协议是特定于工作的,而不是特定于步骤的。

编辑(解决方案):我已经得到了这个答案。这个想法是,需要在每个数字前面加上“O-bytes”,以便每个数字中的字节数与最大数字中的字节数相同。至少这是我在课堂上记得的。我现在无法添加答案,因为它不允许我,但这是我唯一的解决方案。如果有人有更透明和容易的东西,请分享。

0 投票
0 回答
248 浏览

python - 在 Amazon EMR 上使用 Mrjob 处理 MongoDB 数据

我知道 Mrjob 使用 Hadoop Streaming。我也知道有一个使用 MongoDB 和 Hadoop Streaming 的插件。但是,我找不到任何将两者结合在一起的例子。

这(至少在理论上)可能吗?如果是这样,是否有任何相关的示例或教程?请注意,我愿意扩展 Mrjob 库甚至退回到 Boto。

0 投票
1 回答
2803 浏览

python - 在 hadoop 集群上运行时出现 MRJob 错误

我正在尝试使用 hadoop 集群和 MRJob 运行 python 作业,我的包装脚本如下:

所以一旦我使用 qsub myscript.sh 将此脚本提交到集群

我得到两个文件一个输出文件和一个错误文件:

错误文件有以下内容:

第一个问题我如何找到 $HADOOP HOME?当我 echo $HADOOP_HOME 没有打印任何内容时,这意味着它没有设置。所以即使我必须设置它,我必须设置它的路径是什么?是否应该设置为集群中 Hadoop name_node 的路径?

第二个问题“未找到配置”错误表示什么?它是否与 $HADOOP_HOME 未设置有关,或者它是否期望其他一些配置文件被显式传入?

任何帮助将非常感激。

提前致谢!

0 投票
1 回答
1221 浏览

python - 使用 MRJob 更改 Mapreduce 中间输出位置

我正在尝试在我没有管理员权限的集群上使用 MRJob 运行 python 脚本,并且我在下面粘贴了错误。我认为正在发生的事情是该作业正在尝试将中间文件写入默认 /tmp.... 目录,并且由于这是一个我无权写入的受保护目录,因此该作业收到一个错误并且退出。我想知道如何将此 tmp 输出目录位置更改为本地文件系统示例中的某个位置: / home/myusername/some_path_in_my_local_filesystem_on_the_cluster ,基本上我想知道我必须传递哪些附加参数才能从 /tmp/.. 更改中间输出位置.到我有写权限的地方。

我将我的脚本调用为:

错误: