问题标签 [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 回答
1399 浏览

python - Python:使用 yelps MRJOB 增加 EMR 中的超时值

我正在使用 yelp MRjob 来编写一些 mapreduce 程序。我在 EMR 上运行它。我的程序有减速器代码,需要很长时间才能执行。我注意到由于 EMR 中的默认超时期限,我收到此错误

我想要一种增加 EMR 超时的方法。我阅读了同样的 mrjobs 官方文档,但我无法理解该过程。有人可以提出解决此问题的方法。

0 投票
0 回答
106 浏览

python - EMR 长时间无输出

我有一个使用 MRJob 库用 python 编写的 MapReduce 作业。在我的本地机器上完成这项工作大约需要 30 分钟。在 EMR 上运行相同的作业时,我很长时间没有看到任何输出(~=1 小时)。我不得不停止工作。此外,在我的本地机器上花费很少时间的作业在 EMR 上运行得很好。我尝试增加超时,但任务跟踪器在超时后杀死了减速器。我收到以下错误消息

EMR 为我的工作创建了 4 个映射器和一个减速器。此外,我编写的 reducer 代码需要对大约 11-12 MB 的整个数据集进行大量循环。我希望这项工作与我的本地机器在大约同一时间完成,但它没有发生。有什么解决办法??`

0 投票
0 回答
310 浏览

python - 带有 MrJob 的 EMR 上的随机 java.io.FileNotFoundException jobcache 错误

我正在使用 MrJob 并尝试在 Elastic Map Reduce 上运行 Hadoop 作业,该作业不断随机崩溃。

数据如下所示(制表符分隔):

而且底层的 MapReduce 非常简单:

当我运行它时,我使用以下命令,使用默认的 mrjob.conf(我的密钥是在环境中设置的):

当我在小型数据集上运行它时,它完成得很好。当我在整个数据语料库(价值约 10GiB)上运行它时,我会收到这样的错误(但不是每次都在同一点!):

我已经运行了两次;第一次在 45 分钟后死亡,这次在 4 小时后死亡。它两次都死在不同的文件上。我检查了它死掉的两个文件,都没有任何问题。

不知何故,它无法找到它写入的溢出文件,这让我感到困惑。

编辑:

我再次运行该工作,几个小时后它又死了,这次出现了不同的错误消息。

0 投票
1 回答
3022 浏览

python - MRJob :- 在 map reduce 中显示中间值

在使用 python MRJob 库运行 mapreduce 程序时,如何在终端上显示中间值(即打印变量或列表)?

0 投票
1 回答
1169 浏览

python - MapReduce:Mrjob 持久保存结果

我正在尝试通过三个步骤来实现一个 mapreduce 作业,并且在每个步骤之后,我需要到目前为止所有步骤中的数据。有没有人有关于如何将映射器或减速器的结果保存到mrjob中的磁盘的示例/想法?

0 投票
1 回答
471 浏览

python - 如何在 mrjob 中更改 AWS accesskey 和 secretaccesskey 的环境变量

如何更改$AWS_ACCESS_KEY_ID$AWS_SECRET_ACCESS_KEY在 mrjob 中输入我自己的 AWS 凭证?我在 Mac OS X 上使用终端。

https://github.com/Yelp/mrjob

谢谢!

0 投票
2 回答
980 浏览

python - 如何使用 MapReduce 在 python 中计算两个变量之间的相关性

我正在尝试使用 AWS 上提供的百万歌曲数据集来查找曲目响度与其流行度之间的相关性。我按照基本教程(http://musicmachinery.com/2011/09/04/how-to-process-a-million-songs-in-20-minutes/)获取每个曲目的数据,并建立我的项目使用 MRJob 和 Python。现在我迷失了如何在使用映射器和减速器时找到轨道之间的相关性。到目前为止,这是我的代码:

这段代码并没有真正起作用,因为它产生了这个:

我需要帮助编写其余代码来计算MSD 数据集的loudness和变量之间的相关性。hotness谢谢!

0 投票
3 回答
3470 浏览

python - MRjob:reducer 可以执行 2 次操作吗?

我试图产生从映射器生成的每个键值对的概率。

所以,让我们说映射器产生:

我需要添加 5+6+7 = 18 然后找到概率 5/18、6/18、7/18

所以减速器的最终输出看起来像:

到目前为止,我只能让 reducer 将值中的所有整数相加。我怎样才能让它返回并将每个实例除以总和?

谢谢!

0 投票
1 回答
778 浏览

python - 如何在多步 map-reduce 程序中运行最终的“打印”语句一次?

我基本上是在尝试通过在 Hadoop 上扩展来实现推荐系统。

在第一步中,我试图计算输入文件中每对项目之间的相似性。如果我将它简单地存储为

{项目 A,项目 B,相似性}

输出文件大小变得非常非常大(对于 60kb 输入,我得到的输出文件大小为 6mb)。

因此,我认为是否最好将结果存储在python dict中并在整个map reduce程序结束后仅打印一次dict。我这样做不成功请帮助我。

我的python代码是:

所以执行后我想要什么

python thisfile.py < input.csv -r hadoop > output.txt

是一个相对较小的输出文件,没有重复和一个字典。

简而言之,

目前这个程序打印退出n 次,但我希望它只打印一次。

除此之外,还有任何更好的方法可以通过以更好的方式扩展 hadoop 来实现协同过滤。

提前致谢。

0 投票
2 回答
331 浏览

python - 有没有办法在 Hadoop 管理 Web 界面中从 mrjob 指定作业的标题?

我从 Python 库mrjob开始了几个不同的工作,包括具有多个步骤的工作。如何streamjob用自定义名称替换?例如, wordcount_step_1,wordcount_step_2等。

Hadoop 管理的屏幕截图