【问题标题】:Hadoop Mapreduce: TextInputFormat: Meaning of positionHadoop Mapreduce:TextInputFormat:位置的含义
【发布时间】:2016-02-13 06:05:20
【问题描述】:

我试图理解文档说“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")

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    在TextInputFormat中,Keys是文件中从文件开头到linebyte offset

    即,对于第一行,偏移量或键将为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)
    

    【讨论】:

    • 毗湿奴,非常感谢您的回答。这正是我正在寻找的。非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2014-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多