这是一个涉及 Hadoop/HDFS 的概念性问题。假设您有一个包含 10 亿行的文件。为了简单起见,让我们考虑每一行的形式<k,v>
,其中 k 是行距开头的偏移量, value 是行的内容。
现在,当我们说要运行 N 个映射任务时,框架是否将输入文件拆分为 N 个拆分并在该拆分上运行每个映射任务?或者我们是否必须编写一个分区函数来进行 N 次拆分并在生成的拆分上运行每个映射任务?
我想知道的是,拆分是在内部完成还是我们必须手动拆分数据?
更具体地说,每次调用 map() 函数时,它的Key key and Value val
参数是什么?
谢谢,迪帕克