2017-01-07 3 views
0

하이브 테이블로 가져온 .gz 파일에서 쿼리하고 싶지만 Map-reduce 작업이 필요한 쿼리를 사용할 때 select count (*) from test; 그것은 오류 아래 보여줍니다하이브 잘못된 헤더 검사

java.io.IOException: incorrect header check 
    at org.apache.hadoop.io.compress.zlib.ZlibDecompressor.inflateBytesDirect(Native Method) 
    at org.apache.hadoop.io.compress.zlib.ZlibDecompressor.decompress(ZlibDecompressor.java:228) 
    at org.apache.hadoop.io.compress.DecompressorStream.decompress(DecompressorStream.java:111) 
    at org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:105) 

내가 확인하고 Z LIB는 기본 압축 코덱 것으로 나타났습니다. bzip 파일로 시도해 보니 문제 없습니다. .gz 파일을 어떻게 사용할 수 있습니까? 어떻게 gz 파일을 지원할 수있는 기본 코덱을 변경할 수 있습니까?

+0

사용이 [링크] (https://issues.apache.org/jira/browse/HADOOP-474)에서이 솔루션을 기록했다. –

답변

0

처음 몇 레코드를 읽을 수는 있지만 동일한 오류가 발생했습니다. 같은 오류로 실패한 레코드

평범한 (압축되지 않은) 파일의 이름을 .txt로 변경하여이 문제를 해결했습니다. 이전에 내 파일 이름은; 나는 .txt로 이름을 바꿨다. 또한 파일 테스트 압축을 풀면 파일 테스트에서 데이터를 읽을 수 있습니다.

그리고 위에서 설명한 것처럼 실행 횟수를 테스트하려면 데이터가 올바르게로드되었는지 정확하게 알려주는 전체 검사를 수행합니다.

나는 reference.It 당신을 도울 수 있으므로 다른 한 곳