在Hadoop中处理带有头的文件
我想在Hadoop中处理很多文件——每个文件都有一些头信息,后面是很多记录,每个记录都以固定的字节数存储。对此有什么建议吗?我认为最好的解决方案是编写一个自定义的 除了编写自定义FileInputFormat外,您还需要确保文件不可拆分,以便读取器知道如何处理文件中的记录。有一种解决方案,您可以检查映射器读取的文件行的偏移量。 文件中的第一行将为零。因此,您可以按如下方式在地图中添加线条: 公共void映射(LongWritable键、文本值、上下文上下文)引发IOException、InterruptedException {在Hadoop中处理带有头的文件,hadoop,Hadoop,我想在Hadoop中处理很多文件——每个文件都有一些头信息,后面是很多记录,每个记录都以固定的字节数存储。对此有什么建议吗?我认为最好的解决方案是编写一个自定义的 除了编写自定义FileInputFormat外,您还需要确保文件不可拆分,以便读取器知道如何处理文件中的记录。有一种解决方案,您可以检查映射器读取的文件行的偏移量。 文件中的第一行将为零。因此,您可以按如下方式在地图中添加线条: 公共void映射(LongWritable键、文本值、上下文上下文)引发IOException、Inter
if(key.get() > 0)
{
your mapper code
}
}
因此,它将跳过文件的第一行
但是,这不是一个好方法,因为这样会对文件中的每一行检查此条件
最好的方法是使用自定义输入格式