如何从文本文件转换为序列文件?

时间:2012-06-22 01:29:54

标签: hadoop apache-pig

我有一个大的.txt文件记录,我需要将其转换为(hadoop)序列格式以提高效率。我在网上找到了一些答案(例如How to convert .txt file to Hadoop's sequence file format),但我是hadoop的新手,并不是真的了解它们。如果你能解释一下这些,或者你有另一种解决方案,那就太好了。如果有帮助,则记录按行分隔。

提前致谢。

1 个答案:

答案 0 :(得分:1)

既然你说你是hadoop的新手,你知道MapperReducer的基本概念吗?它们都有KEY_IN_CLASS,VALUE_IN_CLASS,KEY_OUT_CLASS,VALUE_OUT_CLASS,所以在你的情况下,你可以简单地使用mapper来进行转换,

对于KEY_IN_CLASS,您可以使用默认的LongWritable

VALUE_IN_CLASS您需要使用Text,因为Text类处理文字输入。

对于KEY_OUT_CLASS,您可以使用NullWritable,如果您没有特定的密钥,则它是一个空密钥。

对于VALUE_OUT_CLASS,请使用SequenceFileOutputFormat

我相信为了使用SequenceFileOutputFormat,您需要告诉SequenceFileOutputFormat您使用的是哪个关键类和值类。