2017-01-07 15 views
0

Я хочу получить запрос из файла .gz, который был импортирован в таблицу hive, но когда я использую некоторые запросы, требующие задания Map-reduce, например: select count (*) from test; это показывает ниже ошибок:ошибка проверки заголовка hive

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), как reference.It может помочь вам. –

ответ

0

я столкнулась с теми же ошибками, хотя я могу читать первые несколько записей, но рассчитывать нет. записей с ошибкой.

Я решил проблему просто переименовать мой обычный (не сжатый) файл .txt. Раньше мое имя файла было; Я переименовал его в .txt. Также, если вы сжимаете любой файл, вы можете читать данные с него.

И если вы хотите, чтобы проверить запуск подсчета количества записей, как описано выше, он будет делать полное сканирование, которое сообщит вам точно, если данные правильно или не загружен.

Я отправил это решение в одном другом месте

 Смежные вопросы

  • Нет связанных вопросов^_^