1

我在 S3 上有一些使用 snappy 压缩算法(使用node-snappy包)压缩的 csv 文件。我喜欢使用 spark 处理这些文件,com.databricks.spark.csv但我一直收到无效的文件输入错误。

代码:

file_df = sqlContext.read.format('com.databricks.spark.csv').options(header='true', inferschema='true', codec='snappy', mode='FAILFAST').load('s3://sample.csv.snappy')

错误信息:

16/09/24 21:57:25 WARN TaskSetManager:在阶段 0.0 中丢失任务 0.0(TID 0,ip-10-0-32-5.ec2.internal):java.lang.InternalError:无法解压缩数据。输入无效。在 org.apache.hadoop.io.compress.snappy.SnappyDecompressor.decompress(SnappyDecompressor.java:239) 在 org.apache.hadoop 的 org.apache.hadoop.io.compress.snappy.SnappyDecompressor.decompressBytesDirect(Native Method)。 io.compress.BlockDecompressorStream.decompress(BlockDecompressorStream.java:88) at org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:85) at java.io.InputStream.read(InputStream.java:101)在 org.apache.hadoop.util.LineReader.fillBuffer(LineReader.java:180) 在 org.apache.hadoop.util.LineReader.readDefaultLine(LineReader.java:216) 在 org.apache.hadoop.util.LineReader.readLine (LineReader.java:

4

1 回答 1

0

看起来与此处回答的问题相同- 基本上 python snappy 与 Hadoop snappy 不兼容。

于 2016-09-25T01:19:47.280 回答