大数据课程学习之Hadoop面试题集锦
随着大数据市场火爆,企业纷纷加大对于大数据工程师的招聘投入,相应的求职门槛也在增高。求职过程中,面试是企业HR检验求职者技能的重要手段,为此很多学习大数据课程的人会从理论知识方面下功夫,今天小编就给大家分享一下大数据课程学习中Hadoop相关的面试题及答案,希望能够对大家有所帮助。
一、简单描述如何安装配置apache的一个开源hadoop?
答:包括这些步骤:1)使用root账户登录;2)修改IP;3)修改host主机名;4)配置SSH免密码登录;5)关闭防火墙;6)安装JDK;7)解压hadoop安装包;8)配置hadoop的核心文件 hadoop-env.sh,core-site.xml, mapred-site.xml,hdfs-site.xml,配置hadoop环境变量;9)格式化 hadoop namenode-format;10)启动节点start-all.sh。
二、HDFS读写数据的过程
读:
1、跟namenode通信查询元数据,找到文件块所在的datanode服务器;
2、挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流;
3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验);
4、客户端以packet为单位接收,现在本地缓存,然后写入目标文件。
写:
1、根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在;
2、namenode返回是否可以上传;
3、client请求第一个 block该传输到哪些datanode服务器上;
4、namenode返回3个datanode服务器ABC;
5、client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline),A收到请求会继续调用B,然后B调用C,将真个pipeline建立完成,逐级返回客户端;
6、client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答;
7、当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。
三、spark集群运算的模式
Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Standalone 模式,对于大多数情况 Standalone 模式就足够了,如果企业已经有 Yarn 或者 Mesos 环境,也是很方便部署的。
四、简述hadoop怎样实现二级排序(就是对key和value双排序)
第一种方法是,Reducer将给定key的所有值都缓存起来,然后对它们再做一个Reducer内排序。但是,由于Reducer需要保存给定key的所有值,可能会导致出现内存耗尽的错误。
第二种方法是,将值的一部分或整个值加入原始key,生成一个组合key。这两种方法各有优势,第一种方法编写简单,但并发度小,数据量大的情况下速度慢(有内存耗尽的危险),第二种方法则是将排序的任务交给MapReduce框架shuffle,更符合Hadoop/Reduce的设计思想。这篇文章里选择的是第二种。我们将编写一个Partitioner,确保拥有相同key(原始key,不包括添加的部分)的所有数据被发往同一个Reducer,还将编写一个Comparator,以便数据到达Reducer后即按原始key分组。
五、Hive内部表和外部表的区别
Hive向内部表导入数据时,会将数据移动到数据仓库指向的路径;若是外部表,数据的具体存放目录由用户建表时指定。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。这样外部表相对来说更加安全些,数据组织也更加灵活,方便共享源数据。
猜你喜欢LIKE
最新文章NEW
相关推荐HOT
更多>>热门推荐
如何在面试中得高分?一般要注意哪些方面
沸UI设计师如何应对面试?哪些细节不可忽略
热求职者如何应对面试?需要特别注意什么
热Java面试必问什么技术?如何搞定Spring框架
新求职过程中如何抓住机遇?要注意哪些要点
郑州Web前端培训之JavaScript面试题推荐
郑州云计算培训机构之常见面试题及答案
如何开始求职生涯?个人简历有哪几种类型
初入职场大学生如何应对?怎么规避职场风险
企业对Python人才的招聘需求有哪些?
职场新人如何找到适合自己性格的工作?
大学生如何尽快获得职位?需要注意哪几点
毕业生如何应对求职?推荐10条参考标准
常见UI设计面试题有哪些?郑州UI培训好不