gpt4 book ai didi

compression - Hadoop:在 HDFS 中压缩文件?

转载 作者:可可西里 更新时间:2023-11-01 14:10:29 24 4
gpt4 key购买 nike

我最近在 Hadoop 中设置了 LZO 压缩。在 HDFS 中压缩文件的最简单方法是什么?我想压缩一个文件,然后删除原来的。我应该使用 IdentityMapper 和使用 LZO 压缩的 IdentityReducer 创建 MR 作业吗?

最佳答案

对我来说,编写 Hadoop Streaming 的开销较低压缩文件的作业。

这是我运行的命令:

hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-0.20.2-cdh3u2.jar \
-Dmapred.output.compress=true \
-Dmapred.compress.map.output=true \
-Dmapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec \
-Dmapred.reduce.tasks=0 \
-input <input-path> \
-output $OUTPUT \
-mapper "cut -f 2"

我通常还会将输出存储在临时文件夹中以防出现问题:

OUTPUT=/tmp/hdfs-gzip-`basename $1`-$RANDOM

另外请注意,我没有在流作业中指定 reducer ,但您当然可以。它将强制对所有行进行排序,这对于大文件可能需要很长时间。可能有一种方法可以通过覆盖分区程序来解决这个问题,但我没有费心去弄明白。不幸的是,您最终可能会得到许多无法有效利用 HDFS block 的小文件。这就是调查 Hadoop Archives 的原因之一

关于compression - Hadoop:在 HDFS 中压缩文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7153087/

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