您的位置:首页 > 运维架构

Hadoop interview

2016-05-01 23:45 120 查看
目前也面试了几家公司hadoop工程师的职位,总结一下面试题,以供参考。

一、Hadoop基础:

1、 hadoop读写文件的过程?

2、 hadoop集群可以从哪几个方面优化?块的大小怎么设置?槽位怎么设置?

3、 mapreduce程序的执行过程是怎么样的?

4、 mapreduce程序中join和group
by是怎么实现的?

5、 Hive语句可以从哪几个方面优化?优化后效率怎么样?

二、项目方面:

1、 做过什么项目,整体流程是怎么样的,处理什么数据,对数据怎么分析处理?

2、 hadoop集群是用在什么方面的,有多少个节点?

3、 项目的实施和维护过程中出现过什么问题,怎么解决的?

转载 :http://blog.sina.com.cn/s/blog_ac9e44210101ogz0.html

常见的一些基础面试题:

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的输入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: