如何使用Python作为基础,在Hadoop中使用bash文件使用一个Map器执行多个reduce作业?

bnl4lu3b  于 2023-03-22  发布在  Hadoop
关注(0)|答案(1)|浏览(162)

bash file code
我将mapper和reducer格式化为相同的格式,这样我就可以跳过Map步骤,继续减少它。在这种情况下,我只做了两个reduce工作。使用Unix管道命令可以正常工作。但是,我需要使用bash文件来工作。
我试着写了两遍:

-reducer "python3 reducer.py"\
    -reducer "python3 reducer.py"

试着在派对里吹箫

-reducer "python3 reducer.py | python3 reducer.py"

我还尝试了其他一些组合。一些中断了周期,一些创建了错误的输出。我觉得有一个解决方案,但不能让它工作......我正在使用MobaXterm在Hadoop中工作。
piping commands

tgabmvqs

tgabmvqs1#

不可以,Hadoop Streaming不能做管道。如果你想通过自身运行reducer输出,那么就把文件内的数据收集到列表中,而不是打印,并使用循环来重新处理数据。
或者,使用MapReduce Combiner

相关问题