1.
下列哪个属性是mapred-site.xml中的配置?( C )
A.dfs.replication
B.fs.fsdefaultFS
C.mapreduce.framework.name
D.yarn.resourcemanager.address
A: 设置副本数 hdfs-site.xml
B:设置namenode节点对应的主机 core-site.xml
C:指定MapReduce所依赖的运行框架为YARN
D:指定ResourceManager对应的主机 yarn-site.xml
2.
关于Hadoop单击模式和伪分布模式的说法正确的是? ( A )
A.后者比前者增加的HDFS的输入输出以及可检查内存的使用情况
B.两者都不与守护进程交互,避免复杂性
C.单机模式不使用HDFS,但加载守护进程
D.两者都启动守护进程,且守护进程运行在一台机器上
3.
关于Haoop体系架构说法不正确的是? ( D )
A.NameNode管理文件系统的命名空间
B. HDFS集群有两类节点以管理者和工作者模式运行
C.HDFS上的文件也被分为块大小的多个块文件作为独立的存储单元
D.NameNode永久保存记录着每个文件中各个块所在的数据节点和位置信息
D: namenode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息会在系统启动时由数据节点重建
4.
以下关于HDFS中Block的说法正确的是? ( C )
A.一个磁盘有自己的块大小,一般为512个字节,HDFS中的块大小与本地磁盘保持一致
B. 为了 容错,一般Block的默认备份为1份,并且会尽量考虑到网络到网络
C.由于分布式文件系统中使用Block来抽象数据存储,由于文件的分块不需要存储同一台机器上,所以HDFS为文件可以大于每个单独的磁盘大小。
D.数据文件的各个Block主要存储在namenode上
5.
HDFS文件系统中一个gzip文件大小75MB,客户端设置Block的大小为默认,请问此文件占用几个Block? ( )
- A. 1
- B. 3
- C. 2
- D. 4
版本不同,默认大小不同。64M、128M都正确。 在Apache Hadoop中默认是64M,Cloudera Hadoop版本中默认是128M
6.
HDFS中的block默认保存几份?( C )
- A. 1份
- B. 不确定
- C. 3份
- D. 2份
7.
下面选项中哪两个进程是分别负责管理HDFS数据存储和备份元数据信息的?( A )
- A. NameNode、SecondaryNameNode
- B. NameNode、Jobtracker
- C. Datanode,SecondaryNameNode
- D. NameNode、DataNode
SecondaryNameNode:备份文件
8.
关于HDFS的文件写入,正确的是( C )
- A. 用户可以在文件任意位置进行修改
- B. 复制的文件块默认都存在同一机架上
- C. 默认将文件块复制成三份存放
- D. 支持多用户对同一文件的写 *** 作
9.
关于Hadoop FileSystem的说法不正确的是( A )
A、FileSystem中有很多方法,跟File中的方法一致,如exists,delete,mkdir,create等等一些常用的文件 *** 作方法
B、FileStatus中有一系列的方法,可以得到文件的信息。如:getLen()得到文件的长度,以字节的形式
C、globStatus()方法返回于其路径匹配的所有文件的FileStatus队形数据,并按路径排序。
D、FileStatus对象存储文件和目录的元数据
创建目录:mkdir>>mkdirs
10.
下列不是FileSystem类的常见方法的是( D )
- A. getDefaultPort()
- B. getScheme()
- C. getStatus()
- D. Path()
方法名没有大写
11.
下列描述中不符合Map/Reduce的是( D )
- A. Map结束后,Partitioner会将相同Key分到同一个组交给Reduce进程
- B. Map/Reduce是函数式的设计思想
- C. Map是将数据映射成Key/Value再交给Reduce
- D. Reduce先运行,然后运行Map
map:分解
reduce:分组
12.
MapReduce编程模型中以下组件哪个是最后执行的? ( B )
- A. Partitioner
- B. Reducer
- C. Mapper
- D. RecordReader
13.
有关MapReduce的输入输出,说法错误的是( B )
A、 链接多个MapReduce作业时,序列文件是首选格式
B、FileInputFormat中实现的getSplits()可以把输入数据划分为分片,分片数目和大小任意定义
C、想完全禁止输出,可以使用NullOutputFormat
D、每个reduce需将它的输出写入自己的文件中,输出无需分
getSplits():得到有多少个切片
14.
下列关于MapReduce说法不正确的是(D)
- A. MapReduce隐藏了并行计算的细节,方便使用
- B. MapReduce是一种计算框架
- C. MapReduce来源于google的学术论文
- D. MapReduce程序只能用java语言编写
Hadoop也可以使用非Java语言来编写,主要使用Streaming API编写,但只适用较小、功能比较简单的MapReduce程序。
15.
关于MapReduce执行过程说法错误的是( )
- A. Mapper过程与Reducer过程之间,会有shuffle过程
- B. 合并、排序、Shuffle是在Mapper输出之后,Reducer输出之前完成的
- C. MapReduce执行过程分为Mapper过程与Reducer过程
- D. 正常执行MapReduce任务时,Map函数和reduce函数都会被调用执行
我的答案:C
16.【单选】
下面关于MapReduce的描述中正确的是( )
- A. MapReduce程序的ReduceTask可以任意指定
- B. MapReduce程序的MapTask可以任意指定
- C. MapReduce程序必须包含Mapper和Reducer
- D. MapReduce程序的默认数据读取组件是TextInputFormat
我的答案:D
MapReduce程序的默认数据输出组件是TextoutputFormat
17.
关于MapReduce过程各个角色的作用说法不正确的是( )
A、JobTracker负责接收用户提交的作业,负责启动、跟踪任务执行
B、TaskTracker负责执行任务,负责启动、跟踪任务执行、访问任务状态和日志
C、JobClient负责提交作业
D、客户端提交一个MR的jar包给JobTracker,再由JobTracker分给TaskTracker
- A. A
- B. C
- C. D
- D. B
我的答案:C
18.【单选】
MapReduce 是一个分布式计算框架,它经历了两个版本MRv1和MRv2。 MRv2重用了MRv1的编程模型和数据处理引擎,运行时环境则完全重写,改为由yarn提供服务,yarn将TaskTrack分解为ResourceManager、ApplicationMaster。MapReduce是一个分布式计算框架,它的第二个版本记为MRv2,以下描述组成部分错误的是( )
- A. 数据处理引擎(MapTask和ReduceTastk)
- B. 运行时环境(JobTrack和TaskTrack)
- C. 运行时环境(JobTrack和ResourceManager、ApplicationMaster)
- D. 编程模型(Map和Reduce)
19.【单选】
关于Writable接口的说法错误的是( D )
A、Writable接口是根据 DataInput 和 DataOutput 实现的简单、有效的序列化对象
B、MapReduce的任意key必须实现WritableComparable接口
C、MapReduce的任意Value不必实现Writable接口
D、Hadoop使用自己的序列化格式Writables接口,具有紧凑,快速的特点
- A. B
- B. D
- C. A
- D. C
MapReduce的任意Value必实现Writable接口 :序列化
20.【单选】
有关MapReduce的输入输出,说法错误的是( B )
- A. 每个reduce需将它的输出写入自己的文件中,输出无需分片
- B. 把输入数据划分为分片,分片数目和大小任意定义
- C. 链接多个MapReduce作业时,序列文件是首选格式
- D. 想完全禁止输出,可以使用Null Output Format
=
21.【单选】
关于MapReduce处理类说法错误的是( )
A、InputFormat把输入文件切分位为InputSplit,并把InputSplit读到Mapper中进行处理
B、CombineFileInputFormat相对于大量的小文件来说,更合适处理少量的大文件
C、MapFileOutputFormat将key和value写入MapFile中,在写入的时候不必保证记录是按key值顺序写入的
D、KeyValueTextInputFormat适合当输入数据的每一行是两列,并用tab分离的格式的文件
- A. A
- B. C
- C. B
- D. D
我的答案:B
22.【单选】
关于MapReduce处理类说法不正确的是( A )
- A. TextOutputformat 默认的输出格式,key和value中间值用空格隔开的
- B. InputSplit原始数据被分割成若干split,每个split作为一个map任务的输入
- C. FileInputFormat保存作为job输入的所有文件,并实现了对输入文件计算splits的方法
- D. CombineFileInputFormat相对于大量的小文件来说,更合适处理少量的大文件
我的答案:A
TextOutputformat 默认的输出格式,key和value中间值用Tab隔开的
23.【单选】
默认的MapReduce输入格式是( )
- A. KeyValueTextInputFormat
- B. TextInputFormat
- C. SequenceFileInputFormat
- D. NLineInputFormat
我的答案:B
24.【单选】
MapReduce框架提供了一种序列化键/值对的方法,支持这种序列化的类能够在Map和Reduce过程中充当键或值,以下说法错误的是 ( C )
- A. 键和值的数据类型可以超出Hadoop自身支持的基本类型
- B. 实现Writable接口的类是值
- C. Hadoop的基本类型Text并不实现WritableComparable
接口 - D. 实现WritableComparable
接口的类可以是值或键
Hadoop的基本类型Text实现WritableComparable
接口
25.【单选】
为销售报表展示开发一个MapReduce作业,Mapper输入数据的Key是年份(IntWritable), Value表示商品标识(Text)。下列哪一项决定该Mapper的数据类型?( )
A、JobConf.setMapInputKeyClass与JobConf.setMapInputValuesClass
B、HADOOP_MAP_DA TA TYPES环境变量
C、随作业一起提交的mapper-specification.xml文件
D、InputFormat格式类
- A. B
- B. C
- C. A
- D. D
我的答案:D
26.【单选】
关于MapReduce处理类说法错误的是( )
A、FileInputFormat只划分比HDFS block大的文件
B、TextOutputformat 默认的输出格式,key和value中间值用空格隔开的
C、InputSplit原始数据被分割成若干split,每个split作为一个map任务的输入
D、KeyValueTextInputFormat适合当输入数据的每一行是两列,并用tab分离的格式的文件
- A. A
- B. B
- C. C
- D. D
我的答案:B
27.【单选】
关于MapReduce处理类说法不正确的是( )
A、FileInputFormat保存作为job输入的所有文件,并实现了对输入文件计算splits的方法
B、InputFormat把输入文件切分位为InputSplit,并把InputSplit读到Mapper中进行处理
C、InputSplit原始数据被分割成若干split,每个split作为一个map任务的输入
D、FileInputFormat只划分比HDFS block小的文件
- A. C
- B. A
- C. B
- D. D
我的答案:D
FileInputFormat只划分比HDFS block大的文件
28.【单选】
以下四个Hadoop预定义的Mapper实现类的描述错误的是( )
- A. TokenCountMapper实现Mapper,当输入的值为分词时,生成(taken, 1)对
- B. InverseMapper实现Mapper,反转键/值对
- C. RegexMapper实现Mapper,为每个常规表达式的匹配项生成一个(match, 1)对
- D. IdentityMapper实现Mapper,将输入直接映射到输出
我的答案:B
29.【单选】
以下关于Partititoner编程的说法错误的是( )
A、 Partitioner
B、 Partritioner的作用是对Reduce产生的结果进行分片。
C、 Partitioner组件是负责给mapTask节点输出的数据进行分发。
D、 Partitioner用来控制Map输出的中间结果键值对的划分,分区总数与作业的Reduce任务的数量是一样的。
- A. D
- B. A
- C. C
- D. B
我的答案:A
30.【单选】
关于Partitioner的说法错误的是( )
- A. mapreduce中默认的分区是BinaryPartitioner类
- B. 由Partitioner来决定每条记录应该送往哪个reducer节点
- C. Partition是在map阶段完成后执行的
- D. 自定义分区的数量需要和reduce task的数量保持一致
我的答案:A
mapreduce中默认的分区是HashPartitioner类
31.【单选】
关于Partitioner的说法不正确的是( )
A、Partitioner是partitioner的基类, 如果需要定制partitioner也需要继承该类。
B、Partitioner的作用是对Mapper产生的中间结果进行分片
C、Parttitioner间接影响Reducer阶段的复杂均衡
D、Partitioner只提供了一个方法getPartition(Text key,Text value,int numPartitions)
- A. C
- B. B
- C. D
- D. A
我的答案:A
32.【单选】
关于MapReduce提供的4种Partitioner,不正确的是( )
A、HashPartitioner是MapReduce的默认Partitioner
B、BinaryPartitioner继承于Partitioner
C、KeyFieldbasedPartitioner是基于hash的Partitioner。与BinaryPartitioner不同的是,它提供了多个区间用于计算hash
D、TotalOrderPartitioner类可以实现输出额全排序。这个类也是基于hash的
- A. C
- B. D
- C. B
- D. A
我的答案:B
TotalOrderPartitioner类可以实现输出额全排序。这个类不是基于hash的
33.【单选】
关于mapreduce框架中一个作业的reduce任务的数目,下列说法正确的是( )
A、由自定义的Partitioner来确定
B、是分块的总数目一半
C、可以由用户来自定义,通过JobConf.setNumReducetTask(int)来设定一个作业中reduce的任务数目
D、由MapReduce随机确定其数目
- A. A
- B. B
- C. D
- D. C
我的答案:D
34.【单选】
以下哪个组件可以指定对key进行Reduce分发的策略?( )
- A. FileInputFormat
- B. Partitioner
- C. RecordReader
- D. Combiner
我的答案:B
35.【单选】
下列描述中不符合Map/Reduce的是 ( )
- A. Map结束后,Partitioner会将相同Key分到同一个组交给Reduce进程
- B. Reduce先运行,然后运行Map
- C. Map是将数据映射成Key/Value再交给Reduce
- D. Map/Reduce是函数式的设计思想
我的答案:B
36.【单选】
关于map阶段,下面说法错误的是( )
- A. 数据划分组由partitioner组件完成
- B. 输入数据由mapper组件处理
- C. 输入数据格式由inputformat解析
- D. shuffle阶段是map阶段的一个子阶段
我的答案:D
shuffle阶段是map阶段的下一个阶段
37.【单选】
下面说法不正确的是( )
- A. Partitioner负责控制Map输出结果key的分割
- B. Reduce的数目不可以是0
- C. OutputCollector收集Mapper或Reducer输出数据
- D. Reporter用于MapReduce应用程序报告进度
我的答案:B
38.【单选】
关于Partitioner组件,下面说法正确的是( )
- A. partition决定了map task输出的每条数据交给哪个reduce task处理
- B. partitioner主要作用是对数据等量划分,以便能被并行处理
- C. partitioner可有可无
- D. partition不能由用户实现
我的答案:A
39.【单选】
与传统的分布程序设计相比,MapReduce封装了()等细节,还提供了一个简单而强大的接口。
a、并行处理
b、容错处理
c、数据分布
d、负载均衡
以上正确的有?
- A. 两个
- B. 三个
- C. 四个
- D. 一个
我的答案:C
40.【单选】
MapReduce是一种编程模型,用户只需通过编写()函数来实现自己的计算逻辑。
- A. Partition
- B. 逻辑
- C. Map、Reduce
- D. SQL
我的答案:C
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)