Apache Avro文件处理

Apache Avro in File Processing

本文关键字:处理 文件 Avro Apache      更新时间:2023-10-16

Apache Avro在文件处理中的用途是什么?有人能向我解释一下,如果我需要处理。lzo格式的tb数据有用吗?

我在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();

在map-reduce和数据分析中,它可以帮助您避免瓶颈。在典型的ETL流中,有时所有的东西都依赖于从a点到B点的一些大数据块,如果数据被压缩,则传输速度会更快。

文件结构也针对hadoop进行了优化,它类似于"hadoop序列文件"。LZO缺乏针对hadoop的特定优化结构,但正在取得进展

http://blog.cloudera.com/blog/2009/11/hadoop-at-twitter-part-1-splittable-lzo-compression/

Arvo文件是语言无关的,LZO和Arvo都有一个C接口,从那篇文章中他们正在开发一些pig的udf,所以我希望在不久的将来看到一些pig LZO到hdfs的桥梁。

Arvo文件是基于模式的,

http://avro.apache.org/docs/current/spec.html模式

这很有用,因为您可以在运行时根据模式

发现文件的格式/结构。

文档是开始的好地方http://avro.apache.org/docs/current/