在执行mr作业时,hadoop将输入数据分成n个split,然后启动相应的n个map程序分别处理它们。
1.数据如何分割(分割成不同的输入分割)?
2.split是如何安排的(您如何决定处理split的map程序应该在哪个tasktracker机器上运行)?
3.如何读取分割数据?
4.如何减少分配的任务?
在hadoop1.x中
在Hadoop2.x中
这两个问题有一定的关系,所以我一起问他们,你可以显示你擅长的部分。
提前谢谢。
在执行mr作业时,hadoop将输入数据分成n个split,然后启动相应的n个map程序分别处理它们。
1.数据如何分割(分割成不同的输入分割)?
2.split是如何安排的(您如何决定处理split的map程序应该在哪个tasktracker机器上运行)?
3.如何读取分割数据?
4.如何减少分配的任务?
在hadoop1.x中
在Hadoop2.x中
这两个问题有一定的关系,所以我一起问他们,你可以显示你擅长的部分。
提前谢谢。
1条答案
按热度按时间j91ykkif1#
数据存储/读取在预定义大小的hdfs块中,并通过使用字节扫描器由各种recordreader类型读取,并且知道要读取多少字节以确定何时需要返回inputsplit。
更好地理解它的一个很好的练习是实现自己的recordreader,并创建一个小记录、一个大记录和多个记录的大小文件。在many records情况下,您尝试将一条记录拆分为两个块,但是该测试用例应该与两个块上的一条大记录相同。
reduce任务可以由mapreduce操作的客户端设置。
在hadoop2+中,这个图像已经过时了