【发布时间】:2015-01-06 23:31:25
【问题描述】:
我正在使用带有 -io typedbytes 的 Hadoop 流并设置 mapred.reduce.tasks=2,但我最终只得到了一个输出文件。如果我设置 mapred.reduce.tasks=0,那么我会得到很多输出文件。我很困惑。
所以我的问题是: 当我在流中使用 -io typedbytes 时如何使 mapred.reduce.tasks = num (num >1) 配置有效?
PS:我的映射器的输出是 (key:string of python, value:array of numpy)。
还有我的 .sh 文件:
hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.2.1.jar \
-D mapred.reduce.tasks=2 \
-fs 本地\
-jt 本地\
-io 类型字节\
-inputformat org.apache.hadoop.mapred.SequenceFileAsBinaryInputFormat \
-输入 FFT_SequenceFile \
-输出pinv输出\
-映射器'pinvmap.py'\
-文件 pinvmap.py \
【问题讨论】: