大数据分析(高级)简答答案

工信部证书考试,练习系统地址:http:examg.uec.org.cn/login

考试题型及分值分布如下:

单选15题 30分  判断10题 10分  简答3题 30分多选10题 30分  共100分 60分及格 考试时间120分钟  30分钟后可提现离场

1、简述hadoop1和hadoop2的区别

Hadoop2相比较于Hadoop1.x来说, HDFS 的架构与 MapReduce 的都有较大的变化,且速度上和可用性上都有了很大的提高,Hadoop2中有两个重要的变更:首先 HDFS 的 NameNodes 可以以集群的方式布署,增强了 NameNodes 的水平扩展能力和可用性,可以同时部署多个 NameNode ,这些 NameNodes 之间是相互独立,也就是说他们不需要相互协调, DataNode 同时在所有 NameNodes 注册,做为他们共有的存储节点,并定时向所有的这些 NameNodes 发送心跳块使用情况的报告,并处理所有 NameNodes 向其发送的指令。再者 MapReduce 将 JobTracker 中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的组件,并更名为YARN ( YetAnotherResourceNegotiator )。 MapReduce Ft Hadoop24称为MR2或 YARN ,将 JobTracker 中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的服务,用于管理全部资源的 ResourceManager 以及管理每个应用的 ApplicationMaster , ResourceManager 用于管理向应用程序分配计算资源,每个 ApplicationMaster 用于管理应用程序、调度以及协调。

2、简述hadoop的优势

1)高可靠性:因为 Hadoop 假设计算元素和存储会出现故障,因为它维护多个工作数据副本,在出现故障时可以对失败的节点重新分布处理。2)高扩展性:在集群间分配任务数据,可方便的扩展数以千计的节点。3)高效性:在 MapReduce 的思想下, Hadoop 是并行工作的,以加快任务处理速度。4)高容错性:自动保存多份副本数据,并且能够自动将失败的任务重新分配。

3、简述fsimage和edit的区别

fsimage 保存了最新的元数据检查点, edits 保存自最新检查点后的命名空间的变化。从最新检查点后, hadoop 将对每个文件的操作都保存在 edits 中,为避免 edits 不断增大, secondarynamenode 就会周期性合并 fsimage 和 edits 成新的 fsimage , edits 再记录新的变化,这种机制有个问题:因 edits 存放在 Namenode 中,当 Namenode 挂掉, edits 也会丢失,导致利用 secondarynamenode 恢复 Namenode 时,会有部分数据丢失。

4、介绍一下HBase过滤器

过滤器是为hbase筛选数据而提供的,通过过滤器可以在hbased数据的多个维度进行筛选,比如行键,列名,时间戳

5、数据仓库和数据库有什么不同

数据仓用于数据长期存储,数据来源于多个数据源,主要用于数据分析和决策支持。数据库是当前数据相关状态的数据总汇,存在多个模式的异构数据库,用于临时或在线事务处理

6、谈谈数据倾斜,如何发生的,并给出优化方案

key分布不均匀,业务数据本身的特点,某些sql本身就有数据倾斜,建表时考虑不周。

优化方案:调节参数,hive.map.aggr=true调节SQL语句

7、HDFS的原理,以及各个模块的职责是什么

HadoopDistributedFileSystem 即: Hadoop 分布式文件系统,就是把数据划分成不同的 Block 分别存储在不同节点的设备上。它分为两个部分: NameNode 和 DateNode , NameNode 相当于一个领导,将文件系统的 Meta - data 存储在内存中,这些信息主要包括了文件信息、每一个文件对应的文件块的信息和每一个文件块在 DataNode 的信息等。它管理集群内的 DataNode ,当客户发送请求过来后, NameNode 会根据 Meta - data 指定存储到哪些 DataNode 上,而其本身并不存储真实的数据。

8、简述hadoop和spark的shuffle过程

hadoop : map 端保存分片数据,通过网络收集到 reduce 端。 spark : spark 的 shuffle 是在 DAGSchedular 划分 Stage 的时候产生的, TaskSchedule 要分发 Stage 到各个 worker 的 executor 。减少 shuffle 可以提高性能。

9、map方法是如何调用reduce方法的

(1) Shuffle 过程是 MapReduce 的核心,也被称为奇迹发生的地方, Hadoop 的 shuffle 过程就是从 map 端输出到 reduce 端输入之间的过程。(2) map 过程的输出是写入本地磁盘而不是 HDFS ,但是一开始数据并不是直接写入磁盘而是缓冲在内存中,缓存的好处就是减少磁盘1/0的开销,提高合并和排序的速度。默认的内存缓冲大小是100M(可以配置),所以在书写 map 函数的时候要尽量减少内存的使用,为 shuffle 过程预留更多的内存,因为该过程是最耗时的过程。当缓冲的内存大小使用超过一定的阈值(默认80%),一个后台的线程就会启动把缓冲区中的数据写入( spill )到磁盘中,往内存中写入的线程继续写入知道缓冲区满,缓冲区满后线程阻塞直至缓冲区被清空。在数据 spill 到磁盘的过程中会有一些额外的处理,调用 partition 函数、 combine 函数(如果设置)、对数据进行排序(按 key 排序)。如果发生多次磁盘的溢出写,会在磁盘上形成几个溢出写文件,在 map 过程结束时,要将这些文件进行合并生成一个大的分区的排序的文件。(3) reduce 端可能从 n 多 map 的结果中获取数据,而这些 map 的执行速度不尽相同,当其中一个 map 运行结束时, reduce 就会从 jobtractor 中获取该信息。 map 运行结束后 tasktractor 会得到消息,进而将消息汇报给 jobtractor , reduce 定时从 jobtractor 获取该信息, reduce 端默认有5个线程从 map 端拖拉数据。

10、简述Hive内部表和外部表的区别

①Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变

②在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据

11、DataNode首次加入cluster的时候,如果log报告不兼容文件版本,那需要NameNode执行格式化操作,这样处理的原因是什么?

添加了一个新的标识符ClusterID用于标识集群中所有的节点,当格式化一个Namenode,需要提供这个标识符或者自动生成,这个ID可以被用来格式化加入集群的其他Namenode

12、MR的工作原理是什么

当客户提交作业后, MapReduce 库先把任务 splits 不同的块,然后根据"移动计算比移动数据更明智"的思想,把任务分发到各个 DataNode 上。在不同的 DataNode 上分别执行 Map 操作,产生键值对,然后通过 shuffle 重新洗牌,把键值相同的键值对传给同一个 reduce ,把键值不同的键值对传给不同的 reduce 进行处理,最后输出结果。这些按照时间顺序包括:输入分片( inputsplit )、 map 阶段、 combiner 阶段、 shuffle 阶段和 reduce 阶段。

13、写出你对ZooKeeper的理解

ZooKeeper 提供了一个简化并支持特定功能的分布式文件系统接口,加上数据同步,变更通知,客户端 Cache 等辅助机制。实际上 zookeeper 是很适合做集群节点都具有相同配置文件或相同配置信息的管理同步工具,可以设置权限及触发功能。比如集群中每一个加点安装部署 zookeeper ,构成 zookeeper 集群,配置好相应的 watcher 及触发运行脚本,在集群中任何一台的节点上修改配置文件,都会触发 watcher ,然后执行相应的配置信息同步脚本,更新所有其他节点上得配置信息,实现了配置的统一管理。集群的配置(文件)管理(配置修改之后, zookeeper 监控到自动更新同步到其他客户端,实现配置的统一管理)。

14、MapReduce基本执行过程

(1)将输入的海量数据切片分给不同的机器处理。

(2)执行 Map 任务的 Worker 将输入数据解析成 key - value pair ,用户定义的 Map 函数把

输入的 key - value pair 转成中间形式的 key - value pair .

(3)按照 key 值对中间形式的 key - value 进行排序、聚合。

(4)把不同的 key 值和相应的 value 集分配给不同的机器,完成 Reduce 运算。

(5)输出 Reduce 结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杏杏蜜罐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值