常见的一些基础面试题:
1、hadoop运转的原理?
2、mapreduce的原理?3、HDFS存储的机制?
4、举一个简略的比方阐明mapreduce是怎么来运转的 ?
5、面试的人给你出一些疑问,让你用mapreduce来完成?
比方:如今有10个文件夹,每个文件夹都有1000000个url.如今让你找出top1000000url。
6、hadoop中Combiner的效果?
解答:
1.hadoop即是mapreduce的进程,服务器上的一个目录节点加上多个数据节点,将程序传递到各个节点,再节点上进行计算。
2.mapreduce即是将数据存储到不一样的节点上,用map方法对应办理,在各个节点上进行计算,最后由reduce进行合并。
3.java程序和namenode合作,把数据存放在不一样的数据节点上.
4.怎么运转用图来表明最好了。图无法画。谷歌下。
5.不思考歪斜,功能,运用2个job,第一个job直接用filesystem读取10个文件夹作为map输入,url做key,reduce计算个url的sum,
下一个job map顶用url作key,运用sum作二次排序,reduce中取top10000000
第二种方法,建hive表 A,挂分区channel,每个文件夹是一个分区.
select x.url,x.c from(select url,count(1) as c from A where channel ='' group by url)x order by x.c desc limie 1000000;
6 combiner也是一个reduce,它可以削减map到reudce的数据传输,进步shuff速度。
牢记平均值不要用。需求输入=map的输出,输出=reduce的输入。