하이브에서 Gzip 파일로 작업 할 때 0byte 파일이 존재하면 아래와 같이 Unexpected end of input stream
오류가 발생합니다.
Caused by: java.io.EOFException: Unexpected end of input stream
at org.apache.hadoop.io.compress.DecompressorStream.decompress(DecompressorStream.java:165)
at org.apache.hadoop.io.compress.DecompressorStream.read(DecompressorStream.java:105)
at java.io.InputStream.read(InputStream.java:101)
at org.apache.hadoop.util.LineReader.fillBuffer(LineReader.java:182)
at org.apache.hadoop.util.LineReader.readDefaultLine(LineReader.java:218)
at org.apache.hadoop.util.LineReader.readLine(LineReader.java:176)
at org.apache.hadoop.mapred.LineRecordReader.skipUtfByteOrderMark(LineRecordReader.java:215)
at org.apache.hadoop.mapred.LineRecordReader.next(LineRecordReader.java:253)
at org.apache.hadoop.mapred.LineRecordReader.next(LineRecordReader.java:48)
at org.apache.hadoop.hive.ql.io.HiveContextAwareRecordReader.doNext(HiveContextAwareRecordReader.java:360)
... 22 more
또한 어떠한 이유로 Gzip 파일을 압축해제할 수 없는 경우에도 발생할 수 있습니다. 오류의 원인이 되는 파일을 확인할 때 hadoop fs -text
명령으로 확인하면 0byte파일은 파일을 읽는 시점에 오류가 발생하지 않습니다.
아래와 같이 로컬에 다운로드 해서 압축해제를 하면 오류를 확인할 수 있습니다. 따라서 오류가 발생하면 로컬에서 확인하는 것도 원인을 확인하는 방법이 될 수 있습니다.
$ gunzip sample.gz
gzip: sample.gz: unexpected end of file
반응형
'빅데이터 > hive' 카테고리의 다른 글
[hive-tez] 파일 개수와 사이즈에 따른 그룹핑 사이즈 설정과 처리 속도 차이 (0) | 2021.02.16 |
---|---|
[hive] MR, TEZ 실행엔진 라이브러리 업로드 위치 설정 (0) | 2020.09.29 |
[hive] 맵 조인 처리 기준 사이즈 확인 (0) | 2020.06.11 |
[hive] 맵조인과 셔플조인(Map Join vs Shuffle Join) (0) | 2020.06.09 |
[hive] collect_list()와 같은 UDAF 함수의 GC 오류 해결 방법 (0) | 2020.06.01 |