Я читаю Snappy Compressed file
от местного до java
.Ошибка при чтении Скучный сжатый файл
File snappyFile = new File(fileName);
Configuration conf = new Configuration();
CompressionCodec codec = (CompressionCodec)
ReflectionUtils.newInstance(SnappyCodec.class, conf);
FileInputStream is2 = new FileInputStream(snappyFile);
CompressionInputStream cis = codec.createInputStream(is2);
BufferedReader cr = new BufferedReader(new InputStreamReader(cis));
Мой код получает исключение в ReflectionUtils.newInstance
Exception in thread "main" java.lang.RuntimeException: java.lang.NoSuchMethodException: org.xerial.snappy.SnappyCodec.<init>()
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:128)
at org.finra.oats.AWS.AWSnappyRead.run(AWSnappyRead.java:64)
at org.finra.oats.AWS.AWSnappyRead.main(AWSnappyRead.java:48)
Caused by: java.lang.NoSuchMethodException: org.xerial.snappy.SnappyCodec.<init>()
at java.lang.Class.getConstructor0(Class.java:2849)
at java.lang.Class.getDeclaredConstructor(Class.java:2053)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:122)
... 2 more
Является ли это из-за версии проблемы несоответствия. Я использую snappy 1.1.1.2
версия
Из вашего вопроса и предоставленной statcktrace это не совсем понятно, чего вы хотите достичь. Вы хотите прочитать сжатый файл Snappy из файловой системы? – SubOptimal
Вы должны перефразировать свой вопрос. Кажется, вы пытаетесь прочитать файл последовательности Hadoop. Возможно, этот SO-поток [Чтение и запись Sequencefile с использованием Hadoop 2.0 Apis] (http://stackoverflow.com/questions/16070587) может вам помочь. – SubOptimal
Я уже разместил его там [ссылка] (http://stackoverflow.com/questions/29816067/how-to-read-snappy-compressed-file-from-s3-in-java). вы можете обратиться к ссылке, чтобы получить краткую идею. – salmanbw