我是新手来激发流媒体。我正在使用spark-streaming 2.3.0。 我有一个JavaDStream,我将其保存为文本文件,但我想将其保存为压缩(.gz)文件。
这是我的代码snipet:
JavaDStream<String> dataStreams = stream.map(new Function<String, String>() {
public String call(String lines) throws Exception {
//code
return lines;
}
} );
dataStreams.dstream().saveAsTextFiles(outputDir, "txt");
答案 0 :(得分:0)
在dstream中的每个rdd上,调用saveAsTextFile(),如下所示:
rdd.saveAsTextFile(&#34;合并&#34;,classOf [GzipCodec])
或者在Spark App级别:
sc.hadoopConfiguration.setClass(FileOutputFormat.COMPRESS_CODEC,classOf [GzipCodec],classOf [CompressionCodec])