hive不正确的标题检查

时间:2017-01-07 12:37:07

标签: hadoop hive gz

我想从我导入到hive表的.gz文件中查询,但是当我使用一些需要Map-reduce作业的查询时,例如: 从测试中选择count(*); 它显示以下错误:  java.io.IOException:标头检查不正确     at org.apache.hadoop.io.compress.zlib.ZlibDecompressor.inflateBytesDirect(Native Method)     在org.apache.hadoop.io.compress.zlib.ZlibDecompressor.decompress(ZlibDecompressor.java:228)     在org.apache.hadoop.io.compress.DecompressorStream.decompress(DecompressorStream.java:111)     在org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:105) 我查了一下,发现Z LIB是一个默认的压缩编解码器。 我试过用bzip文件就可以了。 但我怎么能使用.gz文件。 如何更改可以支持gz文件的默认编解码器?

2 个答案:

答案 0 :(得分:0)

我有类似的问题,在我的情况下问题是文件夹上的文件是不同的格式,很少有csv和其他人是镶木地板。一旦我保持单一文件格式,问题就解决了。

答案 1 :(得分:-2)

我遇到了同样的错误,虽然我可以读取最初的几条记录,但算不了。记录失败并出现相同错误。

我只是通过将我的普通(未压缩)文件重命名为.txt来解决问题。以前我的文件名是;我将其重命名为.txt。此外,如果您解压缩任何文件测试,您可以从中读取数据。

如果你想测试上面解释的运行计数记录数,它将完成扫描,它将准确地告诉你数据是否正确加载。

我在另一个地方发布了此解决方案