티스토리 뷰

하이브에서 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
반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함