我有一个大的.txt文件记录,我需要将其转换为(hadoop)序列格式以提高效率。我在网上找到了一些答案(例如How to convert .txt file to Hadoop's sequence file format),但我是hadoop的新手,并不是真的了解它们。如果你能解释一下这些,或者你有另一种解决方案,那就太好了。如果有帮助,则记录按行分隔。
提前致谢。
答案 0 :(得分:1)
既然你说你是hadoop的新手,你知道Mapper
和Reducer
的基本概念吗?它们都有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您使用的是哪个关键类和值类。