如何使其具有可读性?

vvppvyoh  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(358)

我有一个文件被压缩了 org.apache.hadoop.io.compress.DefaultCodec 我想把这个文件恢复成它原来的格式——json格式的字符串。
我不太确定如何使用defaultcodec的文档来实现这一点。有人能给我举个这样的例子吗?这是我到目前为止的情况,我不知道我是否在正确的轨道上。。。

//grab my file (it's on S3)
S3Object fileOnS3 = s3Service.getObject("mys3bucket", "myfilename");

DefaultCodec codec = new DefaultCodec();
Decompressor decompressor = codec.createDecompressor();

//does the following line create a input stream that parses DefaultCodec into uncompressed form?
CompressionInputStream is = codec.createInputStream(fileOnS3.getDataInputStream(), decompressor);
//also, I have no idea what to do from here.

我想把未压缩的版本存储在 String 变量,因为我知道文件是一个小的一行。

vtwuwzda

vtwuwzda1#

我会尝试以下方法:
使用hdfs shell命令解压缩文件 -text 还有unix shell,比如: hadoop dfs -text /path/on/hdfs/ > /local/path/for/local/raw/file 为输入使用sequencefileinputformat加载文件,并使用标识Map器(和零缩减器)将其设置为输出textoutputformat。
我会选择第一个选项,特别是如果你说输入文件是一个小字符串。如果要在字符串变量中加载此文件,可以加载该文件(这似乎不必要地昂贵),也可以存储 -text 以字符串形式立即执行命令(跳过后面的部分 > ).

相关问题