Какая польза от Apache Avro при обработке файлов? Кто-нибудь может мне объяснить, полезно ли мне обрабатывать ТБ данных в формате .LZO?
У меня есть выбор между C ++ и Java, что лучше подойдет для Avro?
Моя настоящая цель — читать сжатые файлы и распределять их по категориям в соответствии с некоторыми критериями.
Заранее спасибо…. 🙂
// Serialize user1, user2 and user3 to disk
DatumWriter<User> userDatumWriter = new SpecificDatumWriter<User> (User.class);
DataFileWriter<User> dataFileWriter = new DataFileWriter<User>(userDatumWriter);
dataFileWriter.create(user1.getSchema(), new File("users.avro"));
dataFileWriter.append(user1);
dataFileWriter.append(user2);
dataFileWriter.append(user3);
dataFileWriter.close();
В анализе данных об уменьшении карты это может помочь вам избежать узких мест. В типичном потоке ETL бывают ситуации, когда все зависит от некоторого большого куска данных, который нужно получить из точки А в точку Б, если данные сжимаются, если транспортируется быстрее.
Также структура файла оптимизирована для hadoop, она похожа на «файл последовательности hadoop». В LZO отсутствуют специфические структуры оптимизации для hadoop, однако достигнут прогресс
http://blog.cloudera.com/blog/2009/11/hadoop-at-twitter-part-1-splittable-lzo-compression/
Arvo-файлы не зависят от языка, и LZO, и arvo имеют интерфейс C, с этого поста они работают над некоторыми UD-файлами с поросятами, поэтому я ожидаю увидеть какой-нибудь Pig LZO-мост с hdf-файлами в ближайшем будущем.
Arvo файлы основаны на схеме,
http://avro.apache.org/docs/current/spec.html#schemas
это полезно, так как вы можете определить формат / структуру файла во время выполнения на основе его схемы
Документация — хорошее место для начала http://avro.apache.org/docs/current/