hadoop单Map流

ars1skjm  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(223)

我使用的是hadoop流媒体,启动脚本如下:

../hadoop/bin/hadoop jar ../hadoop/contrib/streaming/hadoop-streaming-1.0.4.jar \
        -mapper ../tests/mapper.php     \
        -reducer ../tests/reducer.php   \
        -input data                     \
        -output out

“数据”是2.5 gb txt文件。
但是在ps-axf中我只能看到一个Map器。我尝试了-dmapred.map.tasks=10,但结果是相同的-单个Map器。
如何让hadoop拆分输入文件并启动几个Map程序进程?

ruoxqz4g

ruoxqz4g1#

详细说明我的评论-如果您的文件不在hdfs中,并且您使用本地运行程序运行,那么文件本身将只由单个Map程序处理。
一个大文件通常由多个Map器处理,因为它作为几个块存储在hdfs中。
一个2.5 gb的文件,其块大小为512m,将在hdfs中拆分为~5个块。如果文件是可拆分的(纯文本,或者使用可拆分的压缩编解码器,如snappy,但不是gzip),那么hadoop将启动一个mapper块来处理文件。
希望这有助于解释你所看到的

相关问题