合并HDFS小于128MB的压缩LZO文件

时间:2019-07-17 15:45:04

标签: java apache-spark hadoop

我正在尝试将Kb大小的小hdfs文件合并为128MB大小的文件。 所有这些kb大小的文件都经过lzo压缩 有人可以帮忙吗?这是我到目前为止尝试过的。

hadoop jar
   /opt/cloudera/parcels/CDH/jars/hadoop-streaming-2.6.0-cdh5.15.1.jar
   -Dmapred.reduce.tasks=10 -Dmapred.reduce.output.compression.codec=lzo  -Dmapred.output.compress=true mapred.output.compression.type=lzo -input "/user/input"
   -output "/user/input_tmp"
   -mapper cat -reducer cat

这里的问题是我的输出是未压缩的零件文件,但我希望将其作为压缩的.lzo文件,例如part-r-00001.lzo ...

1 个答案:

答案 0 :(得分:0)

在此处查看示例https://archive.cloudera.com/cdh5/cdh/5/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/HadoopStreaming.html

-D和属性名称之间的

空格是必需的。 也 您可以使用

-D mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec代替

-Dmapred.reduce.output.compression.codec=lzo

还要检查您的xsite.xmls(例如core-site和mapred-site.xmls是否与LZO正确配置)