java—通过mapreduce压缩解压缩hdfs文件时的附加制表符分隔列

b1zrtrql  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(253)

我正在压缩hdfs上bzip2格式的文本文件

FileOutputFormat.setCompressOutput(jobConf, true);  
FileOutputFormat.setOutputCompressorClass(jobConf,BZip2Codec.class);

然后用mapreduce解压

TextInputFormat.setInputPaths(jobConf,"//Bizip file Path");     
FileOutputFormat.setOutputPath(jobConf, new Path(outputFilePath));

但输出包含额外的制表符分隔列

Input - 1,XYZ
        2,ABC
Output- 0 -> 1,XYZ
        11-> 2,ABC

虽然,在使用unix命令时 bzip2 -k /filename.txt 和b unzip2 /filename.bz2 没有添加其他数据。

6psbrbz9

6psbrbz91#

0,11 是线偏移。如果您不需要,请将输出键设置为 NullWritable 在bzip2codec.class中。

相关问题