级联Hadoop文件加载-处理跨换行记录的方法?

级联Hadoop文件加载-处理跨换行记录的方法?,hadoop,split,newline,record,cascading,Hadoop,Split,Newline,Record,Cascading,我正在使用Hadoop处理分布在JVM实例集群中的一些文件 我正在使用级联库来连接Hadoop 我想解析一个文本文件,其中记录跨越换行符并以句点(.)终止 (我知道这太小了,Hadoop的好处还没有实现——我正在做一个演示) 据我所见,我需要编写一个自定义来处理这个问题 我的问题是——最好是: (a) 对输入数据进行预处理,去掉换行符,然后在每条记录结束后插入换行符 (b) 是否编写自定义InputFormat #“更好”-我指的是更少的工作和更惯用的方法。实际上,您需要根据自己的需求权衡每种方

我正在使用Hadoop处理分布在JVM实例集群中的一些文件

我正在使用级联库来连接Hadoop

我想解析一个文本文件,其中记录跨越换行符并以句点(.)终止

(我知道这太小了,Hadoop的好处还没有实现——我正在做一个演示)

据我所见,我需要编写一个自定义来处理这个问题

我的问题是——最好是:

(a) 对输入数据进行预处理,去掉换行符,然后在每条记录结束后插入换行符

(b) 是否编写自定义InputFormat


#“更好”-我指的是更少的工作和更惯用的方法。

实际上,您需要根据自己的需求权衡每种方法的利弊。但就个人而言,我建议您编写一个自定义InputFormat和RecordReader来读取输入数据,如果您必须编写预处理应用程序来转换一种类型的文本文件(记录跨换行并以句点终止)。如果您希望将来会出现更多非正统的文本文件格式,那么预处理器将是理想的选择,这样预处理器可以在发送到Map/Reduce之前将所有不同的格式转换为中间格式

阅读此文章了解如何编写自定义InputFormat和RecordReader