首页 > 解决方案 > 如何使用 Apache Spark Java 解压缩 Gzipped

问题描述

我有一个序列文件。在这个文件中,每个值都是用 GZipped 压缩的 json 文件。我的问题,如何使用 Apache Spark 读取压缩的 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();
        }
    });

但是此代码功能不起作用。祝你今天过得愉快

标签: jsonapache-sparkrdd

解决方案


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

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

如下

“org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec”</p>


推荐阅读