빅데이터/hive
[hive] Gzip파일 처리 중 Unexpected end of input stream 오류 해결 방법
hs_seo
2020. 7. 17. 06:28
하이브에서 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
반응형