我有一个序列文件。在此文件中,每个值均经过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();
}
});
但是此代码功能无法正常工作。 祝你有美好的一天
答案 0 :(得分:0)
在创建spark上下文时,请使用构造函数,该构造函数也将spark配置作为第三个参数。
设置键“ org.apache.hadoop.io.compression.codecs”的spark配置值
如下
“ org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec”