gpt4 book ai didi

hadoop streaming 不要解压缩文件

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

写hadoop流任务的时候。我使用 -archives 将一个 tgz 从本地机器上传到 hdfs 任务工作目录,但它并没有像文档所说的那样被解压。我已经搜索了很多但没有任何运气。

这里是hadoop-2.5.2的hadoop流任务启动命令,很简单

hadoop jar /opt/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.5.2.jar \
-files mapper.sh
-archives /home/hadoop/tmp/test.tgz#test \
-D mapreduce.job.maps=1 \
-D mapreduce.job.reduces=1 \
-input "/test/test.txt" \
-output "/res/" \
-mapper "sh mapper.sh" \
-reducer "cat"

和“mapper.sh”

cat > /dev/null
ls -l test
exit 0

在“test.tgz”中有两个文件“test.1.txt”和“test.2.txt”

echo "abcd" > test.1.txt
echo "efgh" > test.2.txt
tar zcvf test.tgz test.1.txt test.2.txt

上述任务的输出

lrwxrwxrwx 1 hadoop hadoop     71 Feb  8 23:25 test -> /tmp/hadoop-hadoop/nm-local-dir/usercache/hadoop/filecache/116/test.tgz

但想要的可能是这样的

-rw-r--r-- 1 hadoop hadoop 5 Feb  8 23:25 test.1.txt
-rw-r--r-- 1 hadoop hadoop 5 Feb 8 23:25 test.2.txt

所以,为什么 test.tgz 没有自动解压为 document说,还有没有其他方法可以解开“tgz”

请帮忙,谢谢

最佳答案

我的错误。在向 hadoop.apache.org 提交问题后。我听说 hadoop 实际上已经解压了 test.tgz。

虽然名字还是test.tgz,但是是解压后的目录。所以文件可以像“cat test/test.1.txt”一样阅读

关于hadoop streaming 不要解压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28395926/

30 4 0