我正在尝试将 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...
最佳答案
-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
关于java - 合并 HDFS 中小于 128MB 的压缩 lzo 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079754/