问题标签 [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.
python - Python:使用 yelps MRJOB 增加 EMR 中的超时值
我正在使用 yelp MRjob 来编写一些 mapreduce 程序。我在 EMR 上运行它。我的程序有减速器代码,需要很长时间才能执行。我注意到由于 EMR 中的默认超时期限,我收到此错误
我想要一种增加 EMR 超时的方法。我阅读了同样的 mrjobs 官方文档,但我无法理解该过程。有人可以提出解决此问题的方法。
python - EMR 长时间无输出
我有一个使用 MRJob 库用 python 编写的 MapReduce 作业。在我的本地机器上完成这项工作大约需要 30 分钟。在 EMR 上运行相同的作业时,我很长时间没有看到任何输出(~=1 小时)。我不得不停止工作。此外,在我的本地机器上花费很少时间的作业在 EMR 上运行得很好。我尝试增加超时,但任务跟踪器在超时后杀死了减速器。我收到以下错误消息
EMR 为我的工作创建了 4 个映射器和一个减速器。此外,我编写的 reducer 代码需要对大约 11-12 MB 的整个数据集进行大量循环。我希望这项工作与我的本地机器在大约同一时间完成,但它没有发生。有什么解决办法??`
python - 带有 MrJob 的 EMR 上的随机 java.io.FileNotFoundException jobcache 错误
我正在使用 MrJob 并尝试在 Elastic Map Reduce 上运行 Hadoop 作业,该作业不断随机崩溃。
数据如下所示(制表符分隔):
而且底层的 MapReduce 非常简单:
当我运行它时,我使用以下命令,使用默认的 mrjob.conf(我的密钥是在环境中设置的):
当我在小型数据集上运行它时,它完成得很好。当我在整个数据语料库(价值约 10GiB)上运行它时,我会收到这样的错误(但不是每次都在同一点!):
我已经运行了两次;第一次在 45 分钟后死亡,这次在 4 小时后死亡。它两次都死在不同的文件上。我检查了它死掉的两个文件,都没有任何问题。
不知何故,它无法找到它写入的溢出文件,这让我感到困惑。
编辑:
我再次运行该工作,几个小时后它又死了,这次出现了不同的错误消息。
python - MRJob :- 在 map reduce 中显示中间值
在使用 python MRJob 库运行 mapreduce 程序时,如何在终端上显示中间值(即打印变量或列表)?
python - MapReduce:Mrjob 持久保存结果
我正在尝试通过三个步骤来实现一个 mapreduce 作业,并且在每个步骤之后,我需要到目前为止所有步骤中的数据。有没有人有关于如何将映射器或减速器的结果保存到mrjob中的磁盘的示例/想法?
python - 如何在 mrjob 中更改 AWS accesskey 和 secretaccesskey 的环境变量
如何更改$AWS_ACCESS_KEY_ID
和$AWS_SECRET_ACCESS_KEY
在 mrjob 中输入我自己的 AWS 凭证?我在 Mac OS X 上使用终端。
谢谢!
python - 如何使用 MapReduce 在 python 中计算两个变量之间的相关性
我正在尝试使用 AWS 上提供的百万歌曲数据集来查找曲目响度与其流行度之间的相关性。我按照基本教程(http://musicmachinery.com/2011/09/04/how-to-process-a-million-songs-in-20-minutes/)获取每个曲目的数据,并建立我的项目使用 MRJob 和 Python。现在我迷失了如何在使用映射器和减速器时找到轨道之间的相关性。到目前为止,这是我的代码:
这段代码并没有真正起作用,因为它产生了这个:
我需要帮助编写其余代码来计算MSD 数据集的loudness
和变量之间的相关性。hotness
谢谢!
python - MRjob:reducer 可以执行 2 次操作吗?
我试图产生从映射器生成的每个键值对的概率。
所以,让我们说映射器产生:
我需要添加 5+6+7 = 18 然后找到概率 5/18、6/18、7/18
所以减速器的最终输出看起来像:
到目前为止,我只能让 reducer 将值中的所有整数相加。我怎样才能让它返回并将每个实例除以总和?
谢谢!
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 来实现协同过滤。
提前致谢。
python - 有没有办法在 Hadoop 管理 Web 界面中从 mrjob 指定作业的标题?
我从 Python 库mrjob开始了几个不同的工作,包括具有多个步骤的工作。如何streamjob
用自定义名称替换?例如, wordcount_step_1
,wordcount_step_2
等。