Hadoop:不带分隔符的可变长度文件的InputFormat

时间:2018-08-02 11:23:30

标签: hadoop mapreduce bigdata variable-length

我必须处理(通过Hadoop)不带分隔符的变长文件。 这些文件的格式为:

(LengthRecord1)(Record1)(LengthRecord2)(Record2)...(LengthRecordN)(RecordN)

记录之间没有定界符(文件在一行中)。 在LenghtRecord和Record本身之间没有定界符(括号中的括号仅是为了清楚起见)。

我认为我不能同时使用TextInputFormat和KeyValueTextInputFormat默认类,因为它们基于使用换行或回车来表示行尾的信息。

所以,我认为我必须自定义InputFormat来加载这些文件。但是我不知道该怎么做。

我是否必须重写createRecordReader()才能读取记录n的长度,并标识记录n的结尾?如果是这样,我如何处理拆分可能有一半行的事实?

谢谢。

致谢

0 个答案:

没有答案