Mapreduce 映射()的可长写键输入是什么?

Mapreduce 映射()的可长写键输入是什么?,mapreduce,Mapreduce,我有两个1 MB的文本文件存储在HDFS中,作为MapReduce程序的输入。在下面的行中,我们考虑对于MAP()的输入对是: 类映射扩展MapReduceBase实现映射器{ 这里什么是LongWritable键?MapReduce是如何假定的?输入文件中的每一行文本都有一个键,还是假定文件中的完整文本都有一个键(即,一次所有行)?这是行的字节偏移量,或者你可以说行号1-这里的长写键是行的偏移量,这意味着该行在文件中的位置,而不是行号。这两个键之间有很大的区别 2-MapReduce框架未假

我有两个1 MB的文本文件存储在HDFS中,作为MapReduce程序的输入。在下面的行中,我们考虑对于MAP()的输入对是:

类映射扩展MapReduceBase实现映射器{

这里什么是LongWritable键?MapReduce是如何假定的?输入文件中的每一行文本都有一个键,还是假定文件中的完整文本都有一个键(即,一次所有行)?

这是行的字节偏移量,或者你可以说行号

1-这里的长写键是行的
偏移量
,这意味着该行在文件中的
位置
,而不是
行号。这两个键之间有很大的区别

2-MapReduce框架未假定它为
。您在MR作业中使用的
InputFormat
有责任决定它。默认值为
TextInputFormat
,它将行的字节偏移量作为键,与您的情况相同


3-当然,这也取决于您的InputFormat。如果您使用的是TextInputFormat,那么每一行都将被视为值,其偏移量作为键。但是您可以拥有自己的自定义InputFormat,它可能只为整个文件提供一个键,并将该文件的所有行作为值。

您应该跳过“或”部分你的答案。偏移量不是行号。它是行的字节位置。我不明白。为什么一行的偏移量和那行的数字是一样的?我想请你帮我理解一下。位置显然不是数字。我可以知道否决的原因吗?依我所知,这是正确的定义关于mapreduce。另外,您能给我指一下您所指的文档吗?我非常感谢。谢谢。
class Map extends MapReduceBase implements Mapper<LongWritable, Text, Text, IntWritable> {