2015-09-23 2 views
1

При чтении обратно файлов из HDFS Я вижу эти ошибки много:Avro файлы записи в HDFS в результате недопустимого размера блока

{"id":"646626691524096003","user_friends_count":{"int":83},"user_location":{"string":"他の星から副都心線経由"},"user_description":{"string":"Exception in thread "main" org.apache.avro.AvroRuntimeException: java.io.IOException: Block size invalid or too large for this implementation: -40 
    at org.apache.avro.file.DataFileStream.hasNextBlock(DataFileStream.java:275) 
    at org.apache.avro.file.DataFileStream.hasNext(DataFileStream.java:197) 
    at org.apache.avro.tool.DataFileReadTool.run(DataFileReadTool.java:77) 
    at org.apache.avro.tool.Main.run(Main.java:84) 
    at org.apache.avro.tool.Main.main(Main.java:73) 
Caused by: java.io.IOException: Block size invalid or too large for this implementation: -40 
    at org.apache.avro.file.DataFileStream.hasNextBlock(DataFileStream.java:266) 
    ... 4 more 

когда мы пытаемся и читать их с различными инструментами, например:

$ java -jar ~/avro-tools-1.7.7.jar tojson FlumeData.1443002797525 

машина записи их на HDFS это ноутбук на надуманные связи с тем, что это вполне вероятно, он регулярно отключается, но поврежденные файлы на самом деле не ожидается, - в этом случае файл, кажется, ударил неверный размер блока о 11% (оценка vim) пути через файл.

FWIW Я думаю, что конкретное описание пользователя, которое он собирался прочитать, было для пользователя Twitter @ MyTime0627.

ответ

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