如何使用Apache Spark Java解压缩Gzip

时间:2018-06-19 14:17:49

标签: json apache-spark rdd

我有一个序列文件。在此文件中,每个值均经过GZipped压缩后的json文件。我的问题,如何使用Apache Spark读取gzip压缩的json文件?

为此我的代码

JavaSparkContext jsc = new JavaSparkContext("local", "sequencefile");
    JavaPairRDD<String, byte[]> file = jsc.sequenceFile("file:\\E:\\part-00004", String.class, byte[].class);

    JavaRDD<String> map = file.map(new Function<Tuple2<String, byte[]>, String>() {
        public String call(Tuple2<String, byte[]> stringTuple2) throws Exception {
            byte[] uncompress = uncompress(stringTuple2._2);
            return uncompress.toString();
        }
    });

但是此代码功能无法正常工作。 祝你有美好的一天

1 个答案:

答案 0 :(得分:0)

在创建spark上下文时,请使用构造函数,该构造函数也将spark配置作为第三个参数。

设置键“ org.apache.hadoop.io.compression.codecs”的spark配置值

如下

“ org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec”