1

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();
4

1 回答 1

0

在 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#schemas

这很有用,因为您可以在运行时根据其架构发现文件的格式/结构

文档是一个很好的起点http://avro.apache.org/docs/current/

于 2015-07-21T13:23:44.467 回答