大数据技术笔试题库

2022-05-14 09:44:06 浏览数 (1)

一、单选:

1、下列选项中,执行哪一个命令查看Linux系统的IP配置。

A、ipconfig

B、find

C、ifconfig

D、arp -a

2、在MapReduce程序中,map()函数接收的数据格式是()。

A、字符串

B、整型

C、Long

D、键值对

3、下列选项中,关于HDFS的架构说法正确的是()。

A、HDFS采用的是主备架构

B、HDFS采用的是主从架构

C、HDFS采用的是从备架构

D、以上说法均错误

4、下列选项中,主要用于决定整个MapReduce程序性能高低的阶段是()。

A、MapTask

B、ReduceTask

C、分片、格式化数据源

D、Shuffle

5、下列选项中,用于上传文件的Shell命令是()。

A、-ls

B、-mv

C、-cp

D、-put

6、HDFS中的Block默认保存()份。

A、3份

B、2份

C、1份

D、不确定

7、下列选项中,若是哪个节点关闭了,就无法访问Hadoop集群()。

A、namenode

B、datanode

C、secondary namenode

D、yarn

8、下列选项中,Hadoop2.x版本独有的进程是()。

A、JobTracker

B、TaskTracker

C、NodeManager

D、NameNode

9、Hadoop2.0集群服务启动进程中,下列选项不包含的是()。

A、NameNode

B、JobTracker

C、DataNode

D、ResourceManager

10、下列选项中,存放Hadoop配置文件的目录是()。

A、include

B、bin

C、libexec

D、etc

11、Hadoop1.0中,Hadoop内核的主要组成是()。

A、HDFS和MapReduce

B、HDFS和Yarn

C、Yarn

D、MapReduce和Yarn

12、在MapTask的Combine阶段,当处理完所有数据时,MapTask会对所有的临时文件进行一次()。

A、分片操作

B、合并操作

C、格式化操作

D、溢写操作

13、一个gzip文件大小75MB,客户端设置Block大小为64MB,占用Block的个数是()。

A、1

B、2

C、3

D、4

14、下列选项中,哪一项是研究大数据最重要的意义()。

A、分析

B、统计

C、测试

D、预测

15、Hive定义一个自定义函数类时,需要继承以下哪个类?

A、FunctionRegistry

B、UDF

C、MapReduce

16、Hive最重视的性能是可测量性、延展性、()和对于输入格式的宽松匹配性。

A、较低恢复性

B、容错性

C、快速查询

D、可处理大量数据

17、在Hadoop的解压目录下,通过执行哪一项指令可以查看Hadoop的目录结构。()

A、jps

B、ll

C、tar

D、find

18、下列选项中,关于HDFS说法错误的是()。

A、HDFS是Hadoop的核心之一

B、HDFS源于Google的GFS论文

C、HDFS用于存储海量大数据

D、HDFS是用于计算海量大数据

19、按粒度大小的顺序,Hive数据被分为:数据库、数据表、()、桶。

A、元祖

B、栏

C、分区

D、行

20、在HDFS中,用于保存数据的节点是()。

A、namenode

B、datanode

C、secondaryNode

D、yarn

21、下列哪项通常是集群的最主要的性能瓶颈?

A、CPU

B、网络

C、磁盘

D、内存

22、下列选项中,哪项不是Hive系统架构的组成部分?

A、用户接口

B、跨语言服务

C、HDFS

D、底层驱动引擎

23、Hive查询语言和SQL的一个不同之处在于()操作。

A、Group by

B、Join

C、Partition

D、Union

24、Hive加载数据文件到数据表中的关键语法是?

A、LOAD DATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename

B、INSERTDATA [LOCAL] INPATH filepath [OVERWRITE] INTO TABLE tablename

C、LOAD DATA INFILE d:car.csv APPEND INTO TABLE t_car_temp FIELDS TERMINATED BY “,”

D、INSERTDATA [LOCAL] INFILE d:car.csv APPEND INTO TABLE t_car_temp FIELDS TERMINATED BY “,”

25、下列选项中,哪一个可以对Hadoop集群进行格式化()。

A、hadoop namenode -format

B、hadoop namenode -ls

C、hdfs datanode -ls

D、hdfs datanode -format

26、下列选项中,一键启动HDFS集群的指令是()。

A、start-namenode.sh

B、start-datanode.sh

C、start-dfs.sh

D、start-slave.sh

27、关于SecondaryNameNode哪项是正确的?

A、它是NameNode的热备

B、它对内存没有要求

C、它的目的是帮助NameNode合并编辑日志,减少NameNode启动时间

D、SecondaryNameNode应与NameNode部署到一个节点

28、下列选项中,哪个配置文件可以配置HDFS地址、端口号以及临时文件目录()。

A、core-site.xml

B、hdfs-site.xml

C、mapred-site.xml

D、yarn-site.xml

29、下列说法中,关于客户端从HDFS中读取数据的说法错误的是()。

A、客户端会选取排序靠前的DataNode来依次读取Block块

B、客户端会把最终读取出来所有的Block块合并成一个完整的最终文件

C、客户端会选取排序靠后的DataNode来依读取Block块

D、如果客户端本身就是DataNode,那么将从本地直接获取数据

30、Hadoop集群启动成功后,用于监控HDFS集群的端口是()。

A、50010

B、50075

C、8485

D、50070

31、下列说法不正确的是?

A、数据源是数据仓库的基础,通常包含企业的各种内部信息和外部信息。

B、数据存储及管理是整个数据仓库的核心。

C、OLAP服务器对需要分析的数据按照多维数据模型进行重组、分析,发现数据规律和趋势。

D、前端工具主要功能是将数据可视化展示在前端页面中。

32、下列选项中,用于删除HDFS上文件夹的方法是()。

A、delete()

B、rename()

C、mkdirs()

D、copyToLocalFile()

33、每个Map任务都有一个内存缓冲区,默认大小是()。

A、128M

B、64M

C、100M

D、32M

34、Hive建表时,数值列的字段类型选取decimal(x,y)与Float、double的区别,下列说法正确的是?

A、decimal(x,y)是整数,Float、double是小数

B、Float、double在进行sum等聚合运算时,会出现JAVA精度问题

C、decimal(x,y)是数值截取函数,Float、double是数据类型

35、下列选项中,关于SSH服务说法正确的是()。

A、SSH服务是一种传输协议

B、SSH服务是一种通信协议

C、SSH服务是一种数据包协议

D、SSH服务是一种网络安全协议

36、以下选项中,哪种类型间的转换是不被Hive查询语言所支持的?

A、Double—Number

B、BigInt—Double

C、Int—BigInt

D、String—Double


二、 填空

  1. 数据仓库是面向【】、集成、【】和时变的数据集合,用于支持管理决策。

答案:

["主题", "非易实"]

  1. 启动Hadoop集群,主要是启动其内部包含的【】和YARN集群。

答案:

["HDFS集群"]

  1. 在虚拟机配置IP映射时,选择【】模式进行配置。

答案:

["NAT"]

  1. 【】是MapReduce的核心,它用来确保每个reducer的输入都是按键排序的。

答案:

["Shuffle"]

  1. 传统的文件系统对海量数据的处理方式是将数据文件直接存储在【】台服务器上。

答案:

["一"]

  1. 扩容的方式有两种,分别是【】和横向扩容。

答案:

["纵向扩容"]

  1. Hive默认元数据存储在【】数据库中。

答案:

["Derby"]

  1. NameNode主要以【】的形式对数据进行管理和存储。

答案:

["元数据"]

  1. hadoop-mapreduce-examples-2.7.4.jar包中有计算【】和Pi值的功能。

答案:

["单词个数"]

  1. 在Hadoop集群执行完MapReduce程序后,输出的结果文件【】表示此次任务成功执行。

答案:

["_SUCCESS"]

  1. Hadoop发行版本分为开源社区版和【】。

答案:

["商业版"]

  1. 在Hadoop1.x版本中,MapReduce是由一个【】和多个TaskTracker组成。

答案:

["JobTracker"]

  1. Hadoop的解压目录下【】目录存放的是Hadoop管理脚本,包含HDFS和YARN中各类服务的启动/关闭脚本。

答案:

["sbin"]

  1. 马云曾经说过未来的时代将不是IT时代,而是【】时代。

答案:

["DT"]

  1. VMware提供了两种类型的克隆,分别是完整克隆和【】。

答案:

["链接克隆"]

  1. 一般关于日志文件产生都是根据【】而决定。

答案:

["业务"]

  1. Hive是建立在【】上的数据仓库,它能够对数据进行数据提取、【】和加载

答案:

["HDFS", "转换"]

  1. Hive的安装模式分为【】、本地模式、远程模式三种形式

答案:

["嵌入模式"]

  1. Hadoop支持在【】系统和Windows系统上进行安装使用

答案:

["Linux"]

  1. 数据处理大致可以分为两类,分别是联机事务处理OLTP和【】

答案:

["联机分析处理OLAP"]

  1. 大数据在金融行业中的具体表现为【】、【】、决策支持、服务创新以及产品创新

答案:

["精准营销", "风险管控"]

  1. 客户端从HDFS中查找数据,即为【】数据;Client从HDFS中存储数据,即为Write(写)数据

答案:

["Read(读)"]

  1. HDFS是可以由【】组成,每个服务器机器存储文件系统数据的一部分

答案:

["成百上千台服务器机器"]

  1. 【】配置文件用于配置HDFS的NameNode和DataNode两大进程

答案:

["hdfs-site.xml"]

  1. 【】主要是为了掌握利用并行化思想来对数据进行有意义的筛选

答案:

["数据去重"]

  1. 在HDFS的高可用集群中,通常有两台或两台以上的的机器充当NameNode,在任意时间,保证有一台机器处于【】状态,一台机器处于【】状态

答案:

["活跃", "备用/待命"]

  1. MapReduce编程模型的实现过程是通过【】和【】函数来完成的

答案:

["map()", "reduce()"]

  1. 输入Map阶段的数据源,必须经过【】和格式化操作

答案:

["分片"]

  1. MapReduce的核心思想是【】

答案:

["分而治之"]

  1. ReduceTask在Sort阶段,为了将key相同的数据聚在一起,Hadoop采用了基于【】的策略

答案:

["排序"]

  1. 一个元数据文件包括数据长度、【】以及时间戳

答案:

["块数据校验"]

  1. 【】是文档检索系统中最常用的数据结构,被广泛应用于全文搜索引擎

答案:

["倒排索引"]

  1. HDFS与现有的分布式文件系统的主要区别是HDFS具有【】能力

答案:

["高度容错"]

  1. 我们通过执行【】命令,可以使得配置的环境变量文件生效

答案:

["source /etc/profile"]

  1. MapReduce程序的运行模式主要有两种,分别是本地运行模式和【】

答案:

["集群运行模式"]

  1. HDFS采用的是【】的数据一致性模型。

答案:

["一次写入,多次读取"]


三、判断

1. 如果NameNode意外终止,SecondaryNameNode会接替它使集群继续工作。

2. 在Linux中,mkdir命令主要用于在指定路径下创建子目录。

3. 当我们完成Hadoop集群的安装和配置后,就可以直接启动集群。

4. MapReduce通过TextOutputFormat组件输出到结果文件中。

5. 在HDFS中,namenode用于决定数据存储到哪一个datanode节点上。

6. 因为HDFS有多个副本,所以 NameNode是不存在单点故障的。

7. Secondary NameNode可以有效缩短Hadoop集群的启动时间。

8. JobTracker只负责执行TaskTracker分配的计算任务。

9. Hadoop HA是两台NameNode同时执行NameNode角色的工作。

10. MapReduce任务会根据机架获取离自己比较近的网络数据。

11. 由于Hadoop是使用Java语言编写的,因此可以使用Java API操作Hadoop文件系统。

  1. Hadooop2.0版本中,引入了一个资源管理调度框架Yarn。
  1. 启动Hadoop集群,只能有一种方式启动,即单节点逐个启动。
  1. DataNode是HDFS集群的主节点,NameNode是HDFS集群的从节点。
  1. reduce()函数会将map()函数输出的键值对作为输入,把相同key值的value进行汇总,输出新的键值对
  1. NodeManager是每个节点上的资源和任务管理器

17. Hadoop HA是集群中启动两台或两台以上机器充当NameNode,避免一台NameNode节点发生故障导致整个集群不可用的情况。

18. 启动Hadoop HA后,可通过端口号50070查看当前节点的NameNode状态

19.大数据在医疗行业中可以有效控制疾病的发生

  1. 在Hadoop的解压目录下的bin目录,存放的是Hadoop的配置文件
  1. Hadoop1.x版本中,可以搭建高可用集群,解决单点故障问题
  1. 如果一个机架出问题,Hadoop集群服务不会影响数据读写功能
  1. Hadoop1.0和2.0都具备完善的HDFS HA策略
  1. Hadoop HA集群中,存在Secondary NameNode进程,协调NameNode并保持同步状态
  1. 通过执行指令“service iptables status”可以关闭Linux系统的防火墙
  1. 通过执行指令“systemctl stop firewalld”可以关闭CentOS7.6版本系统的防火墙
  1. 在hdfs-site.xml配置文件中可以配置HDFS数据块的副本数量
  1. 执行“start-all.sh”指令,可以一键启动整个Hadoop集群的服务
  1. 在安装部署Hadoop集群之前,不需要提前安装并配置好JDK
  1. HDFS适用于低延迟数据访问的场景,例如毫秒级实时查询
  1. 客户端上传文件的时候会先将文件切分为多个Block,依次上传
  1. Namenode存储的是元数据信息,元数据信息并不是真正的数据,真正的数据是存储在DataNode中
  1. 写入数据的时候会写到不同机架的DataNode中
  1. MapReduce的数据流模型可能只有Map过程,由Map产生的数据直接被写入HDFS中
  1. MapReduce是Hadoop系统核心组件之一,它是一种可用于大数据并行处理的计算模型、框架和平台
  1. MapReduce编程模型借鉴了面向过程的编程语言的设计思想

四、简述:


  1. hadoop-env.sh文件是用于做什么的?

答案:

hadoop-env.sh提供了Hadoop中的JAVA_HOME运行环境变量。


  1. 配置hive-env.sh都涉及到哪些属性?

答案:

添加Hadoop环境变量


  1. 简述大数据在零售行业应用的具体表现。

答案:

大数据在零售行业的具体表现有三个,分别是精准定位零售行业市场、支撑行业收益管理以及挖掘零售业新需求。


  1. 简述单点故障的产生。

答案:

当存储数据块的服务器中突然有一台机器宕机,我们就无法正常的获取文件了,这个问题被称为单点故障


  1. 简述Hive与Hadoop之间的工作过程。

答案:

(1)用户通过用户接口UI将执行的查询操作发送给驱动器执行。

(2)驱动器借助查询编译器解析查询,检查语法和查询计划或查询需求。

(3)编译器将元数据请求发送到Metastore(任何数据库)。

(4)编译器将元数据作为对编译器的响应发送出去。

(5)编译器检查需求并将计划重新发送给驱动器。至此,查询的解析和编译已经完成。

(6)驱动器将执行计划发送给执行引擎执行Job任务。

(7)执行引擎从DataNode上获取结果集,并将结果发送给用户接口UI和驱动器。


  1. 简述MapReduce的Map阶段和Reduce阶段。

答案:

Map阶段:负责将任务分解,即把复杂的任务分解成若干个“简单的任务”来并行处理,但前提是这些任务没有必然的依赖关系,可以单独执行任务。 Reduce阶段:负责将任务合并,即把Map阶段的结果进行全局汇总。


  1. 当Hadoop高可用集群中的NameNode节点发生故障时,简述工作流程。

答案:

一旦Active NameNode挂掉后,Standby NameNode就会在它成为Active状态之前读取所有的JournalNodes里的日志信息,这样就能够保证与挂掉的NameNode的目录镜像树一致,然后无缝的接替它的职责,维护来自客户端请求。


  1. 简述Yarn集群的工作流程。

答案:

(1)用户通过客户端Client向YARN提交应用程序Applicastion,提交的内容包含Application的必备信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。

(2)YARN中的ResourceManager接收到客户端应用程序的请求后,ResourceManager中的调度器(Scheduler)会为应用程序分配一个容器,用于运行本次程序对应的ApplicationMaster。图6-2中的MR App Mstr表示的是MapReduce程序的ApplicationMaster。

(3)ApplicationMaster被创建后,首先向ResourceManager注册信息,这样用户可以通过ResourceManager查看应用程序的运行状态。接下来的第(4)~(7)步是应用程序的具体执行步骤。

(4)ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请资源。

(5)ResourceManager向提出申请的ApplicationMaster分配资源。一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。

(6)NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通过运行该脚本启动任务。

(7)各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行状态,从而可以在任务失败时重新启动任务。

(8)应用运行结束后,ApplicationMaster向ResourceManager注销自己,并关闭自己。如果ApplicationMaster因为发生故障导致任务失败,那么ResourceManager中的应用程序管理器会将其重新启动,直到所有任务执行完毕。


  1. 简述NameNode管理分布式文件系统的命名空间。

答案:

在NameNode内部是以元数据的形式,维护着两个文件,分别是FsImage镜像文件和EditLog日志文件。其中,FsImage镜像文件用于存储整个文件系统命名空间的信息,EditLog日志文件用于持久化记录文件系统元数据发生的变化。当NameNode启动的时候,FsImage镜像文件就会被加载到内存中,然后对内存里的数据执行记录的操作,以确保内存所保留的数据处于最新的状态,这样就加快了元数据的读取和更新操作。


  1. 请简述初次启动Hadoop HA集群的操作方式。

答案:

(1)在每台机器上启动Zookeeper服务。

(2)手动启动Journalnode。

(3)格式化NameNode,并且把格式化后生成的目录拷贝到另外一台NameNode上。

(4)格式化zkfc,在Active节点上执行即可。

(5)启动HDFS服务。

(6)启动Yarn服务。


  1. Hive的核心是驱动引擎,简述它由哪部分组成。

答案:

Hive核心驱动引擎是由编译器(Compiler),优化器(Optimizer),执行器(Executor)组成,它们用于完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划的生成,生成的查询计划存储在HDFS中,并在随后由MapReduce调用执行。


  1. 简述Hive中内部表与外部表区别。

答案:

创建表阶段:外部表创建表的时候,不会移动数到数据仓库目录中(/user/hive/warehouse),只会记录表数据存放的路径,内部表会把数据复制或剪切到表的目录下。 删除表阶段:外部表在删除表的时候只会删除表的元数据信息不会删除表数据,内部表删除时会将元数据信息和表数据同时删除。


  1. 简述HDFS的优点和缺点。

答案:

HDFS分布式文件系统具有优点和缺点。优点有高容错、流式数据访问、支持超大文件、高数据吞吐量以及可构建在廉价的机器上;缺点有高延迟、不适合小文件存取场景以及不适合并发写入。


  1. 简述HDFS读数据的原理。

答案:

(1)客户端向NameNode发起RPC请求,来获取请求文件Block数据块所在的位置。

(2)NameNode检测元数据文件,会视情况返回Block块信息或者全部Block块信息,对于每个Block块,NameNode都会返回含有该Block副本的DataNode地址。

(3)客户端会选取排序靠前的DataNode来依次读取Block块(如果客户端本身就是DataNode,那么将从本地直接获取数据),每一个Block都会进行CheckSum(完整性验证),若文件不完整,则客户端会继续向NameNode获取下一批的Block列表,直到验证读取出来文件是完整的,则Block读取完毕。

(4) 客户端会把最终读取出来所有的Block块合并成一个完整的最终文件


  1. 为什么SSH本地主机需要密码?

答案:

在SSH中使用密码主要是增加安全性,在某些情况下也根本不会设置密码通信。


  1. 请简述OLTP与OLAP的作用。

答案:

(1) OLTP是传统关系型数据库的主要应用,主要针对的是基本的日常事务处理,例如,银行转账。

(2) OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果,例如,商品的推荐系统。


  1. 简述OutputFormat定义的三个方法。

答案:

getRecordWriter()方法用于返回一个RecordWriter的实例,checkOutputSpecs()方法用于检测任务输出规范是否有效,getOutputCommiter()方法来负责输出被正确提交。


  1. 简述Hadoop生态体系常见的子系统。

答案:

Hadoop生态体系中常见的子系统:

HDFS分布式文件系统、

MapReduce分布式计算框架、

Yarn资源管理框架、

Sqoop数据迁移工具、

Mahout数据挖掘算法库、

HBase分布式存储系统、

Zookeeper分布式协作服务、

Hive基于Hadoop的数据仓库以及Flume日志收集工具。


  1. 简述FsImage镜像文件和EditLog日志文件。

答案:

FsImage镜像文件用于存储整个文件系统命名空间的信息,EditLog日志文件用于持久化记录文件系统元数据发生的变化。


  1. HDFS的客户端,复制到第三个副本时宕机,此时HDFS怎么恢复,保证下次写入第三副本?

答案:

DataNode会定时上报Block块的信息给NameNode,NameNode就会得知该副本缺失,然后NameNode就会启动副本复制流程以保证数据块的备份!


  1. Hive元数据存储系统中通常存储什么?

答案:

Hive中的元数据通常包括:表名、列、分区及其相关属性(内部表和外部表),表数据所在目录的位置信息。


  1. 简述MapReduce的工作流程。

答案:

MapReduce的工作过程一共有5个步骤,分别是先分片、格式化数据源,再执行MapTask过程,接着执行Shuffle过程,然后执行ReduceTask过程,最后是写入文件操作。

0 人点赞