1、mapreduce处理的大文件是在什么地方被分隔为一个一个小文件的?
2、hdfs中冗余备份文件在集群节点之间传递的方式?
3、mr过程中要做几次排序操作?
4、hadoop api中的数据类型有哪些?
BooleanWritable 标准布尔型数值
ByteWritable 单字节数值
DoubleWritable 双字节数值
FloatWritable 浮点数
IntWritable 整形术
LongWritable 长整数型
Text 使用Utf-8格式存储的文本(类似java中的String)
NullWritable 当<key,value>中的key或value为空的时候使用
5、maprecude程序的排序算法?
默认是快速排序(时间复杂度:O(nlognn) 到 O(n^n)),
内存中的数据排序使用的是快速排序算法,当内存中的数据到达一定阈值之后需要spill
到硬盘,当生成多个spill文件时,最终要用归并排序归并为一个大文件,因为每一个
spill文件都是按照分区和key排好序的,所以归并文件也是按照分区和key排序好的。
在内存中进行排序,整个数据的内存不会进行移动,只是再加上一层索引的数据,排序只要调整索引数据就可以了。
在进行归并的时候,也不是一次性的把所有的spill文件归并成一个大文件,而是部分spill文件归并成中间文件,
然后中间文件和剩下的spill文件再进行一次归并,依次类推,这个的考虑还是因为一次归并文件太多的话IO消耗太大了
6、如果map活着reduce的task数目设置得比数据block数目多的时候是怎么样的一种体验?
通过JobConf设置setNumMapTasks只是给hadoop系统的一个暗示,实际的map数量由很多因素决定(blocksize,splitsize,input file num等)
参考 http://www.cnblogs.com/xuxm2007/archive/2011/09/01/2162011.html
7、hadoop数据分块时blocksize有没有最大最小值?如果有分别是多少?splitsize呢?
8、
2、hdfs中冗余备份文件在集群节点之间传递的方式?
3、mr过程中要做几次排序操作?
4、hadoop api中的数据类型有哪些?
BooleanWritable 标准布尔型数值
ByteWritable 单字节数值
DoubleWritable 双字节数值
FloatWritable 浮点数
IntWritable 整形术
LongWritable 长整数型
Text 使用Utf-8格式存储的文本(类似java中的String)
NullWritable 当<key,value>中的key或value为空的时候使用
5、maprecude程序的排序算法?
默认是快速排序(时间复杂度:O(nlognn) 到 O(n^n)),
内存中的数据排序使用的是快速排序算法,当内存中的数据到达一定阈值之后需要spill
到硬盘,当生成多个spill文件时,最终要用归并排序归并为一个大文件,因为每一个
spill文件都是按照分区和key排好序的,所以归并文件也是按照分区和key排序好的。
在内存中进行排序,整个数据的内存不会进行移动,只是再加上一层索引的数据,排序只要调整索引数据就可以了。
在进行归并的时候,也不是一次性的把所有的spill文件归并成一个大文件,而是部分spill文件归并成中间文件,
然后中间文件和剩下的spill文件再进行一次归并,依次类推,这个的考虑还是因为一次归并文件太多的话IO消耗太大了
6、如果map活着reduce的task数目设置得比数据block数目多的时候是怎么样的一种体验?
通过JobConf设置setNumMapTasks只是给hadoop系统的一个暗示,实际的map数量由很多因素决定(blocksize,splitsize,input file num等)
参考 http://www.cnblogs.com/xuxm2007/archive/2011/09/01/2162011.html
7、hadoop数据分块时blocksize有没有最大最小值?如果有分别是多少?splitsize呢?
8、