gpt4 book ai didi

使用单个映射器的 Hadoop 流式传输

转载 作者:可可西里 更新时间:2023-11-01 16:34:15 26 4
gpt4 key购买 nike

我正在使用 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 中我只能看到一个映射器。我尝试使用 -Dmapred.map.tasks=10,但结果是一样的 - 单个映射器。

如何让 hadoop 拆分我的输入文件并启动多个映射器进程?

最佳答案

详细说明我的意见 - 如果您的文件不在 HDFS 中,并且您使用本地运行器运行,那么文件本身将仅由单个映射器处理。

一个大文件通常由多个映射器处理,因为它作为多个 block 存储在 HDFS 中。

一个 2.5 GB 的文件, block 大小为 512M,在 HDFS 中将被分成大约 5 个 block 。如果文件是可拆分的(纯文本,或使用可拆分的压缩编解码器,例如 snappy,但不是 gzip),则 hadoop 将为每个 block 启动一个映射器来处理该文件。

希望这有助于解释您所看到的

关于使用单个映射器的 Hadoop 流式传输,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13605074/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com