从Apache Pig将数据存储到SequenceFile

asq*_*hea 9 hadoop apache-pig

Apache Pig可以使用PiggyBank从Hadoop序列文件加载数据SequenceFileLoader:

REGISTER /home/hadoop/pig/contrib/piggybank/java/piggybank.jar;

DEFINE SequenceFileLoader org.apache.pig.piggybank.storage.SequenceFileLoader();

log = LOAD '/data/logs' USING SequenceFileLoader AS (...)

是否还有一个库允许从Pig写入Hadoop序列文件?

Squ*_*Cog 2

只需实现一个 StoreFunc 即可实现此目的。

现在这是可能的,尽管一旦 Pig 0.7 发布,它会变得相当容易,因为它包括对加载/存储接口的完全重新设计。

Twitter 的“Hadoop 扩展包”即将github上开源,包括用于生成基于 Google Protocol Buffers 的加载和存储函数的代码(基于相同的输入/输出格式构建 - 您已经拥有用于序列文件的那些代码,明显地)。如果您需要如何做一些不那么琐碎的事情的示例,请查看它。但它应该相当简单。