大数据工程师必备 常见Hadoop 面试题及答案解析(问答题)

证券从业资格证考试中如何返回前面试题修改答案?


前面有单项选择和多项选择对错题从第一题往下排列的 ,网上有模拟考试的


买教材,多看书

下载全免费,在WU82513511 的知识店铺的资料分享里2012证券从业资格考试讲义试题考试辅导和练习答案考前必过关试题都是由

2012 网校权威名师编写的,下载全免费的,WU82513511 的知识店铺点击 http://www.shangxueba.com/store_519791_1.html
WU82513511 的知识店铺  IP地址 :  http://www.shangxueba.com/store_519791_1.html


(语音MP3课程讲解整套网校价格是300元的),MP3课程讲解我到时分章上传收费2-5元不等可QQ 446399336谈价,2012证券从业资格

考试计划考试大纲考试注意事项准考证领取考试违纪等有详细介绍证券从业资格考试历年考题,各科目练习答案和讲义综合试题答

案解析解答全已公布,可以在WU82513511 的知识店铺的资料分享里免费下载。WU82513511 的知识店铺点击 

http://www.shangxueba.com/store_519791_1.html
WU82513511 的知识店铺  IP地址 : http://www.shangxueba.com/store_519791_1.html

 


2008年司法考试真题卷三真题及答案解析(一)

这个答案解析对么http://www.fdpx.com/do/bencandy.php?fid=43&id=1004


解析准确。


2010年国家司法考试《国际法》部分模拟试题及答案解析有那些


你可以到资料中心去下载。

 


2011北京公务员考试《行测》真题答案及解析有那些


你可以在上学吧网站上下载

 


2011年上海公务员考试行测真题及答案解析有那些


你可以在上学吧网站上下载

 


5 问答题(二)5.1 写出以下执行命令1) 如何杀死一个job先Hadoop job -list 得到jobid 杀死job: hadoop job -kill jobid2) 删除hdfs 上的/tmp/xxx 目录hadoop fs -rm -r /tmp/xxx3) 加入一个新的存储节点和删除一个计算节点,需要刷新集群状态命令加入新节点时:Hadoop-daemon.sh start datanodeHadoop-daemon.sh start tasktracker删除节点时Hadoop maradmin -refreshnodesHadoop dfsadmin -refreshnodes5.2 简述一下hdfs 的数据压缩算法,工作中用的是那种算法,为什么?1、在HDFS 之上将数据压缩好后,再存储到HDFS2、在HDFS 内部支持数据压缩,这里又可以分为几种方法:2.1、压缩工作在DataNode 上完成,这里又分两种方法:2.1.1、数据接收完后,再压缩这个方法对HDFS 的改动最小,但效果最低,只需要在block 文件close 后,调用压缩工具,将block 文件压缩一下,然后再打开block 文件时解压一下即可,几行代码就可以搞定2.1.2、边接收数据边压缩,使用第三方提供的压缩库效率和复杂度折中方法,Hook 住系统的write 和read 操作,在数据写入磁盘之前,先压缩一下,但write 和read 对外的接口行为不变,比如:原始大小为100KB 的数据,压缩后大小为10KB,当写入100KB 后,仍对调用者返回100KB,而不是10KB2.2、压缩工作交给DFSClient 做,DataNode 只接收和存储这个方法效果最高,压缩分散地推给了HDFS 客户端,但DataNode 需要知道什么时候一个block 块接收完成了。推荐最终实现采用2.2 这个方法,该方法需要修改的HDFS 代码量也不大,但效果最高。1、Datanode 在什么情况下不会备份?单节点的情况下不会备份!2、datanode 首次加入cluster的时候,如果log 报告不兼容文件版本,那需要namenode3、执行格式化操作,这样处理的原因是?这个说法是错误的!添加了一个新的标识符ClusterID 用于标识集群中所有的节点。当格式化一个Namenode,需要提供这个标识符或者自动生成。这个ID 可以被用来格式化加入集群的其他Namenode应该检查hadoop 的版本是不是与其他的hadoop 版本一致!5.3 三个datanode,当有一个datanode 出现错误会怎样?Datanode 以数据块作为容错单位通常一个数据块会备份到三个datanode 上,如果一个datanode 出错,则回去其他备份数据块的datanode 上读取,并且会把这个datanode上的数据块再复制一份以达到备份的效果!5.4 hdfs 原理,以及各个模块的职责?Client:切分文件;访问或通过命令行管理HDFS;与NameNode 交互,获取文件位置信息;与DataNode 交互,读取和写入数据。NameNode:Master 节点,只有一个,管理HDFS 的名称空间和数据块映射信息;配置副本策略;处理客户端请求。DataNode:Slave 节点,存储实际的数据;执行数据块的读写;汇报存储信息给NameNode。Secondary NameNode:辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但Secondary NameNode并非NameNode 的热备Hdfs 文件读取1.首先调用FileSystem 对象的open 方法,其实是一个DistributedFileSystem 的实例2.DistributedFileSystem 通过rpc 获得文件的第一批个block 的locations,同一block 按照重复数会返回多个locations,这些locations 按照hadoop 拓扑结构排序,距离客户端近的排在前面.3.前两步会返回一个FSDataInputStream 对象,该对象会被封装成DFSInputStream对象,DFSInputStream可以方便的管理datanode和namenode数据流。客户端调用read方法,DFSInputStream 最会找出离客户端最近的datanode 并连接。4.数据从datanode 源源不断的流向客户端。5.如果第一块的数据读完了,就会关闭指向第一块的datanode 连接,接着读取下一块。这些操作对客户端来说是透明的,客户端的角度看来只是读一个持续不断的流。6.如果第一批block 都读完了,DFSInputStream 就会去namenode 拿下一批blocks的location,然后继续读,如果所有的块都读完,这时就会关闭掉所有的流Hdfs 的文件写入1.客户端通过调用DistributedFileSystem 的create 方法创建新文件2.DistributedFileSystem 通过RPC 调用namenode 去创建一个没有blocks 关联的新文件,创建前,namenode 会做各种校验,比如文件是否存在,客户端有无权限去创建等。如果校验通过,namenode 就会记录下新文件,否则就会抛出IO 异常.3.前两步结束后会返回FSDataOutputStream 的对象,和读文件的时候相似,FSDataOutputStream 被封装成DFSOutputStream,DFSOutputStream 可以协调namenode 和datanode。客户端开始写数据到DFSOutputStream,DFSOutputStream会把数据切成一个个小packet,然后排成队列data quene。4.DataStreamer 会去处理接受data quene,他先问询namenode 这个新的block 最适合存储的在哪几个datanode 里,比如重复数是3,那么就找到3 个最适合的datanode,把他们排成一个pipeline.DataStreamer 把packet 按队列输出到管道的第一个datanode 中,第一个datanode 又把packet 输出到第二个datanode 中,以此类推。5.DFSOutputStream 还有一个对列叫ack quene,也是有packet 组成,等待datanode的收到响应,当pipeline 中的所有datanode 都表示已经收到的时候,这时akc quene 才会把对应的packet 包移除掉。6.客户端完成写数据后调用close 方法关闭写入流7.DataStreamer 把剩余得包都刷到pipeline 里然后等待ack 信息,收到最后一个ack后,通知datanode 把文件标示为已完成。5.5 哪个进程通常与namenode 在一个节点启动?并做分析JobTrackerhadoop 的集群是基于master/slave 模式,namenode 和jobtracker 属于master,datanode 和tasktracker 属于slave,master 只有一个,而slave 有多个SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondaryNameNode(运行在单独的物理机器上)和NameNode 运行在不同的机器上。JobTracker 和TaskTrackerJobTracker 对应于NameNodeTaskTracker 对应于DataNodeDataNode 和NameNode 是针对数据存放来而言的JobTracker 和TaskTracker 是对于MapReduce 执行而言的mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker 与TaskTracker。1、JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker 创建每一个Task(即MapTask 和ReduceTask)并将它们分发到各个TaskTracker 服务中去执行2、JobTracker 是一个master 服务,软件启动之后JobTracker 接收Job,负责调度Job的每一个子任务task 运行于TaskTracker 上,并监控它们,如果发现有失败的task就重新运行它。一般情况应该把JobTracker 部署在单独的机器上。3、TaskTracker 是运行在多个节点上的slaver 服务。TaskTracker 主动与JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在HDFS 的DataNode 上。5.6 hdfs 的体系结构?HDFS 采用了主从(Master/Slave)结构模型,一个HDFS 集群是由一个NameNode和若干个DataNode 组成的。其中NameNode 作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode 管理存储的数据。HDFS 允许用户以文件的形式存储数据。从内部来看,文件被分成若干个数据块,而且这若干个数据块存放在一组DataNode 上。NameNode 执行文件系统的命名空间操作,比如打开、关闭、重命名文件或目录等,它也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写请求,并在NameNode 的统一调度下进行数据块的创建、删除和复制工作。NameNode 和DataNode 都被设计成可以在普通商用计算机上运行。这些计算机通常运行的是GNU/Linux 操作系统。HDFS 采用Java语言开发,因此任何支持Java 的机器FileStatus filestatus = fs.getFileStatus(path);//获取文件块位置列表BlockLocation[] blkLocations =fs.getFileBlockLocations(filestatus, 0, filestatus.getLen());//循环输出块信息for(int i=0;iString[] hosts = blkLocations[i].getHosts();System.out.println(''block_''+i+''_location:''+hosts[0]);}5.8 HDFS 存储的机制?HDFS 的三个实体数据块每个磁盘都有默认的数据块大小,这是磁盘进行读写的基本单位.构建于单个磁盘之上的文件系统通过磁盘块来管理该文件系统中的块.该文件系统中的块一般为磁盘块的整数倍.磁盘块一般为512 字节.HDFS 也有块的概念,默认为64MB(一个map 处理的数据大小).HDFS 上的文件也被划分为块大小的多个分块,与其他文件系统不同的是,HDFS 中小于一个块大小的文件不会占据整个块的空间.HDFS 用块存储带来的第一个明显的好处一个文件的大小可以大于网络中任意一个磁盘的容量,数据块可以利用磁盘中任意一个磁盘进行存储.第二个简化了系统的设计,将控制单元设置为块,可简化存储管理,计算单个磁盘能存储多少块就相对容易.同时也消除了对元数据都可以部署NameNode 和DataNode。一个典型的部署场景是集群中的一台机器运行一个NameNode 实例,其他机器分别运行一个DataNode 实例。当然,并不排除一台机器运行多个DataNode 实例的情况。集群中单一的NameNode 的设计则大大简化了系统的架构。NameNode 是所有HDFS 元数据的管理者,用户数据永远不会经过NameNode。5.7 HDFS,replica 如何定位//查找某个文件在HDFS 集群的位置public static void getFileLocal() throws IOException{//返回FileSystem 对象FileSystem fs = getFileSystem();//文件路径Path path =new Path(''hdfs://single.hadoop.dajiangtai.com:9000/middle/weibo/weibo.txt'');//获取文件目录的顾虑,如权限信息,可以由其他系统单独管理.DataNode 节点DataNode 是HDFS 文件系统的工作节点,它们根据需要存储并检索数据块,受NameNode节点调度.并且定期向NameNode 发送它们所存储的块的列表NameNode 节点NameNode 管理HDFS 文件系统的命名空间,它维护着文件系统树及整棵树的所有的文件及目录.这些文件以两个文件形式永久保存在本地磁盘上(命名空间镜像文件和编辑日志文件).NameNode 记录着每个文件中各个块所在的数据节点信息但并不永久保存这些块的位置信息,因为这些信息在系统启动时由数据节点重建.没有NameNode,文件系统将无法使用.如提供NameNode 服务的机器损坏,文件系统上的所有文件丢失,我们就不能根据DataNode 的块来重建文件.因此,对NameNode 的容错非常重要.第一种机制,备份那些组成文件系统元数据持久状态的文件.通过配置使NameNode在多个文件系统上保存元数据的持久状态或将数据写入本地磁盘的同时,写入一个远程挂载的网络文件系统.当然这些操作都是原子操作.第二种机制是运行一个辅助的NameNode,它会保存合并后的命名空间镜像的副本,并在Name/Node 发生故障时启用.但是辅助NameNode 保存.态总是滞后于主力节点,所以在主节点全部失效后难免丢失数据.在这种情况下,一般把存储在远程挂载的网络文件系统的数据复制到辅助NameNode 并作为新的主NameNode 运行5.9 hdfs 的client 端,复制到第三个副本时宕机, hdfs 怎么恢复保证下次写第三副本?Datanode 会定时上报block 块的信息给namenode ,namenode 就会得知副本缺失,然后namenode 就会启动副本复制流程以保证数据块的备份!5.10 block 块信息是先写dataNode 还是先写nameNode?Client 向NameNode 发起文件写入的请求。NameNode根据文件大小和文件块配置情况,返回给Client 它所管理部分DataNode的信息。Client 将文件划分为多个Block,根据DataNode 的地址信息,按顺序写入到每一个DataNode 块中。5.11 Hive 的join 有几种方式,怎么实现join 的?答:3 种join 方式:1)在reduce 端进行join,最常用的join 方式。Map 端的主要工作:为来自不同表(文件)的key/value 对打标签以区别不同来源的记录。然后用连接字段作为key,其余部分和新加的标志作为value,最后进行输出。reduce 端的主要工作:在reduce 端以连接字段作为key 的分组已经完成,我们只需要在每一个分组当中将那些来源于不同文件的记录(在map 阶段已经打标志)分开,最后进行笛卡尔。2)在map 端进行join,使用场景:一张表十分小、一张表很大:在提交作业的时候先将小表文件放到该作业的DistributedCache 中,然后从DistributeCache 中取出该小表进行join key / value 解释分割放到内存中(可以放大Hash Map 等等容器中)。然后扫描大表,看大表中的每条记录的join key /value 值是否能够在内存中找到相同join key 的记录,如果有则直接输出结果3)SemiJoin,semijoin 就是左边连接是reducejoin 的一种变种,在map 端过滤掉一些数据,在网络传输过程中,只传输参与连接的数据,减少了shuffle的网络传输量,其他和reduce的思想是一样的。实现:将小表中参与join 的key 单独抽取出来通过DistributeCache 分发到相关节点,在map 阶段扫描连接表,将join key 不在内存hashset 的纪录过滤掉,让参与join 的纪录通过shuffle 传输到reduce 端进行join,其他和reduce join 一样。5.12 hive 内部表和外部表的区别?内部表:建表时会在hdfs 创建一个表的存储目录,增加分区的时候,会将数据复制到此location 下,删除数据的时候,将表的数据和元数据一起删除。外部表:一般会建立分区,增加分区的时候不会将数据移到此表的location下,删除数据的时候,只删除了表的元数据信息,表的数据不会删除。5.13 hive 是如何实现分区的?建表语句:create table tablename (id) partitioned by (dt string)增加分区:alter table tablenname add partition (dt = ‘2016-03-06’)删除分区:alter table tablename drop partition (dt = ‘2016-03-06’)5.14 hive 支持not in 吗?不支持,可以用left join 实现此功能5.15 Hive 有哪些方式保存元数据,各有哪些优缺点。1)存储于derby 数据库,此方法只能开启一个hive 客户端,不推荐使用2)存储于mysql 数据库中,可以多客户端连接,推荐使用。5.16 hive 如何优化1)join 优化,尽量将小表放在join 的左边,如果一个表很小可以采用mapjoin2)排序优化,order by 一个reduce 效率低,distirbute by +sort by 也可以实现全局排序3)使用分区,查询时可减少数据的检索,从而节省时间。5.17 hive 能像关系数据库那样,建多个库吗?可以建立多个库,多库多表都支持。5.18 hive 中的压缩格式RCFile、TextFile、SequenceFile 各有什么区别?TextFile:默认格式,数据不做压缩,磁盘开销大,数据解析开销大SequenceFile:Hadoop API提供的一种二进制文件支持,使用方便,可分割,可压缩,支持三种压缩,NONE,RECORD,BLOCKRCFILE 是一种行列存储相结合的方式。首先,将数据按行分块,保证同一个record 在同一个块上,避免读一个记录读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。数据加载的时候性能消耗大,但具有较好的压缩比和查询响应。5.19 hive 相对于Oracle 来说有那些优点?1)存储,hive 存储在hdfs 上,oracle 存储在本地文件系统2)扩展性,hive 可以扩展到数千节点,oracle 理论上只可扩展到100 台左右3)单表存储,数据量大hive 可以分区分桶,oracle 数据量大只能分表。5.20 Hive 的sort by 和order by 的区别order by 会对输入数据做全局排序,只有一个reduce,数据量较大时,很慢。sort by 不是全局排序,只能保证每个reduce 有序,不能保证全局有序,需设置

请教:中国人民银行招聘面试题第1大题第3小题如何解答?

【题目描述】

3、市场经济存在及正常运行的必备条件?一般特征?

 


【参考答案分析】:四个特征──平等性、竞争性、法制性、开放性


Hadoop安装时要配置SSH,这是由于Hadoop数据节点需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现。()

此题为判断题(对,错)。


参考答案:错误


大数据开发的两大核心技术是Hadoop和MapReduce。()

此题为判断题(对,错)。


标准答案:错误


哪有2011年湖南省考行测真题及答案解析啊????


http://www.shangxueba.com/store_m_886610_11998_1_1.html 上面有很多好的公务员资料


述您的问题,如:请教一道华为公司的C语言面试题目的答案和

更多 “大数据工程师必备 常见Hadoop 面试题及答案解析(问答题)” 相关考题
考题 问答题设计面试题目包括哪些内容?面试题目的题型有哪些?正确答案:设计面试题目包括:面试要素的设计、面试题目的题型面试的设计、面试评价量表和问话提纲的设计。面试题目的题型:背景型、智能型、情景型、行为型、意愿型、作业型。解析:暂无解析

考题 hadoop中datanode的在作用()A、存储数据B、管理集群中的节点C、写入数据D、删除数据正确答案:A

考题 问答题名词解析:元数据正确答案:解析:

考题 问答题名词解析:数据仓库正确答案:解析:

考题 问答题名词解析数据库正确答案:解析:

考题 问答题名词解析:数据仓库正确答案:解析:

考题 问答题名词解析数据库正确答案:解析:

考题 单选题Hadoop中哪个模块负责HDFS的数据存储?()A NameNodeB DataNodeC ZooKeeperD JobTraoker正确答案:B解析:暂无解析

考题 多选题BC-Hadoop:“大云”数据平台可以实现()A数据存储和管理B数据导入和导出C数据备份和恢复D资源调度与隔离正确答案:C,D解析:暂无解析

考题 hadoop中的namenode的作用()A、存储数据B、管理集群中的节点C、写入数据D、删除数据正确答案:B