在运行时为Sequence Files创建Value类

时间:2011-03-12 00:22:58

标签: hadoop

我有一些类型的数据,我必须在HDFS上作为序列文件上传。

最初,我曾考虑过根据模式的类型在运行时创建.jr文件,并使用Hadoop的rcc DDL工具来创建这些类并使用它们。

但是看一下rcc文档,我发现它已被弃用了。我试图看看我有什么其他选择来为每种类型的数据创建这些值类。

这是一个问题,因为我了解了要在运行时加载的数据的元数据以及数据流。所以,我没有选择,只能在运行时创建Value类,然后用它来写(Sequence,vale)到SequenceFile.Writer,最后将它保存在HDFS上。

如果有人有任何解决方案,我会真的应用 谢谢, JJ

1 个答案:

答案 0 :(得分:0)

您可以尝试查找其他序列化框架,例如Protocol BuffersThriftAvro。您可能希望首先查看Avro,因为它不需要静态代码生成,这可能更适合您。

或者如果你想要一些非常快速和脏的东西,SequenceFile中的每条记录都可以是一个HashMap,其中键/值是字段的名称和值。