Hadoop Mapreduce:TextInputFormat:位置的含义

时间:2015-11-12 00:42:19

标签: hadoop mapreduce

我正在尝试理解“TextInputFormat用作纯文本文件的输入格式的文档。文件被分成几行。换行或回车用于表示行尾。键是位置在文件中,值是文本行“

“位置”是什么意思?它是指文件中的行号吗?

给定文件中的数据

  dobbs   2007      20      18     15
  dobbs   2008      22      20     12
  doctor  2007  545525  366136  57313
  doctor  2008  668666  446034  72694

它会产生这样的地图输入吗?

  (1,  "dobbs   2007    20  18  15")
  (2,  "dobbs   2008    22  20  12")
  (3,  "doctor  2007    545525  366136  57313")
  (4,  "doctor  2008    668666  446034  72694")

1 个答案:

答案 0 :(得分:2)

在TextInputFormat中,键是从文件开头到byte offset的文件中的line

即,对于第一行,偏移或键将为0 对于第二行,偏移或键将为length of first line,因为第三行偏移将为offset of first line + length of first line

不,它不会像您期望的那样产生地图输入, (假设每个单词由单个空格分隔)它更像是

(0,dobbs 2007 20 18 15)
(20,dobbs 2008 22 20 12)
(40,doctor 2007 545525 366136 57313)
(71,doctor 2008 668666 446034 72694)