JAVA - SPARK - saveAsTextFile不能应用于'(java.lang.String,org.apache.hadoop.io.compress.CompressionCodec)'

时间:2015-12-16 09:31:40

标签: java hadoop apache-spark

我正在使用Spark在JAVA中编写程序。

我有一个名为" copied_logs"的JavaRDD。它使用map并从hdfs上的日志中复制几个字段。

现在,我想压缩" copied_logs"用Bzip2然后保存它。 我想使用" saveAsTextFile"将这些数据保存在hdfs上。功能。 我的压缩和保存代码如下:

    CompressionCodec codec = new BZip2Codec();
    copied_logs.saveAsTextFile(output_dir + "copied_logs.json", codec);

但是我收到了这个错误:

Error:(128, 69) java: incompatible types: org.apache.hadoop.io.compress.CompressionCodec cannot be converted to java.lang.Class<? extends org.apache.hadoop.io.compress.CompressionCodec>

谢谢。

1 个答案:

答案 0 :(得分:2)

方法saveAsTextFile的第二个参数是类类型(doc)。因此,您需要传递.class对象。

类似的东西:

copied_logs.saveAsTextFile(output_dir + "copied_logs.json", BZip2Codec.class)