【发布时间】:2015-07-14 14:26:23
【问题描述】:
我目前正在编写在 Python 中的 hadoop 流上运行的代码。但是,我正在尝试做一个映射和两个归约工作。
当我尝试使用以下命令运行代码时,只有一个减速器 - 第一个 - 正在工作。
我正在使用这个命令:
hadoop jar /usr/hdp/2.2.0.0-2041/hadoop-mapreduce/hadoop-streaming.jar -Dmapreduce.job.queuename=user -Dmapreduce.map.memory.mb=4096 -Dmapreduce.map.java.opts=-Xmx3276m -Dmapred.output.compress=false -file mapper.py -file reducer_tf_hcuot.py -mapper mapper.py -reducer reducer_tf_hcuot.py -input text -output o_text
你能告诉我如何处理它吗?
【问题讨论】:
-
欢迎来到stackoverflow!看起来您实际上并未在问题中包含命令或代码。
-
请澄清您所说的“一个映射和两个归约工作”是什么意思
-
我想运行一个映射器,然后运行两个减速器。
-
根据我的经验,您可能必须运行 mapper、reducer、identity mapper,然后是第二个 reducer,但是我已经有一两年没有使用 hadoop,所以这可能已经过时了。编辑:我过去曾使用 yelp 的 Mrjob 来处理这样的一些流程(将多个工作捆绑在一起)。值得一看吗?
标签: python hadoop mapreduce hadoop-streaming