Hadoop SequenceFile和TextFile之间没有大小差异吗?

时间:2018-08-16 14:47:16

标签: apache-spark hadoop avro parquet sequencefile

我试图压缩我的Spark输出文件,但发现可以使用SequenceFile。

我这样将文件保存在Java中:

JavaPairRDD<Text, Text> result = ...
result.coalesce(1).saveAsNewAPIHadoopFile(outputPath.toString() + ".seq", Text.class, Text.class, SequenceFileOutputFormat.class);

但是,在saveAsTextFile输出和此序列文件输出之间没有任何大小差异。我已经见过创建序列文件的不同方法,但是其中大多数使用Scala,并且我应该使用Java,因此我使用了这种方法。

结果对rdd类似于:

1, 123.456, 123.457, 123.458, ...
2, 123.789, 123.790, 123.791, ...
...

我做错什么了吗?还是我完全理解序列文件的概念是错误的?

顺便说一句,然后将此输出文件用于R中的数据分析。而且我不能使用SparkSQL,Dataframes等。

如果您还有Parquet或Avro等其他建议,而我不会使用DataFrames,那就太好了。

我只需要压缩我的文件,就应该将其解压缩或直接在Hadoop API或R库上使用。

0 个答案:

没有答案