大数据试题Word格式文档下载.docx

上传人:b****1 文档编号:4051304 上传时间:2023-05-02 格式:DOCX 页数:8 大小:18.79KB
下载 相关 举报
大数据试题Word格式文档下载.docx_第1页
第1页 / 共8页
大数据试题Word格式文档下载.docx_第2页
第2页 / 共8页
大数据试题Word格式文档下载.docx_第3页
第3页 / 共8页
大数据试题Word格式文档下载.docx_第4页
第4页 / 共8页
大数据试题Word格式文档下载.docx_第5页
第5页 / 共8页
大数据试题Word格式文档下载.docx_第6页
第6页 / 共8页
大数据试题Word格式文档下载.docx_第7页
第7页 / 共8页
大数据试题Word格式文档下载.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

大数据试题Word格式文档下载.docx

《大数据试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大数据试题Word格式文档下载.docx(8页珍藏版)》请在冰点文库上搜索。

大数据试题Word格式文档下载.docx

B.hadoop-env.sh

C.hadoop-site.xml

D.configuration.xs

2、下面哪个程序负责HDFS数据存储。

 

(C)

A)NameNode 

B)Jobtracker 

C)Datanode 

D)secondaryNameNode 

3、下列关于HadoopAPI的说法错误的是(A)

A.Hadoop的文件API不是通用的,只用于HDFS文件系统

B.Configuration类的默认实例化方法是以HDFS系统的资源配置为基础的

C.FileStatus对象存储文件和目录的元数据

D.FSDataInputStream是java.io.DataInputStream的子类

4、HDfS中的block默认保存几份?

(A)

A)3份

B)2份

C)1份

D)不确定

5、为销售报表展示开发一个MapReduce作业,Mapper输入数据的Key是年份(IntWritable),Value表示商品标识(Text)。

下列哪一项决定该Mapper的数据类型?

(D)

A.JobConf.setMapInputKeyClass与JobConf.setMapInputValuesClass

B.HADOOP_MAP_DATATYPES环境变量

C.随作业一起提交的mapper-specification.xml文件

D.InputFormat格式类

6、HDFS无法高效存储大量小文件,想让它能处理好小文件,比较可行的改进策略不包括(D)

A.利用SequenceFile、MapFile、Har等方式归档小文件

B.多Master设计

C.Block大小适当调小

D.调大namenode内存或将文件系统元数据存到硬盘里

7、下列哪个程序通常与NameNode在一个节点启动?

(D)

a)SecondaryNameNode

b)DataNode

c)TaskTracker

d)Jobtracker

8、下面与HDFS类似的框架是?

(A)NTFS

(B)FAT32

(C)GFS

(D)EXT3

9、HDFS的是基于流数据模式访问和处理超大文件的需求而开发的,默认的最基本的存储单位是64M,具有高容错、高可靠性、高可扩展性、高吞吐率等特征,适合的读写任务是(C)

A.一次写入,少次读写

B.多次写入,少次读写

C.一次写入,多次读写

D.多次写入,多次读写

10、HBase中的批量加载底层使用(A)实现。

AMapReduce

BHive

CCoprocessor

DBloomFilter

三、简答题(将正确的答案写入答题纸中。

每题5分,共20分)

1、简述下HDFS数据读流程;

答:

步骤如下,能大致描述清楚流程,没有关键错误即可

1、跟namenode通信查询元数据(block所在的datanode节点),找到文件块所在的datanode服务器

2、挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流

3、datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)

4、客户端以packet为单位接收,先在本地缓存,然后写入目标文件,后面的block块就相当于是append到前面的block块最后合成最终需要的文件。

2、如何查看hadoop进程并列出hadoop的几个进程名

使用jps命令可查看hadoop进程。

Namenode,SecondaryNameNode,Datanode,ResourceManager,NodeManager

3、请简述MapReduce中combiner、partition的作用

答:

combiner:

有时一个map可能会产生大量的输出,combiner的作用是在map端对输出先做一次合并,以减少网络传输到reducer的数量。

注意:

mapper的输出为combiner的输入,reducer的输入为combiner的输出。

partition:

把map任务输出的中间结果按照key的范围划分成R份(R是预先定义的reduce任务的个数),划分时通常使用hash函数,如:

hash(key)modR

这样可以保证一段范围内的key,一定会由一个reduce任务来处理。

4、HBase的检索支持3种方式是哪些?

(1)通过单个Rowkey访问,即按照某个Rowkey键值进行get操作,这样获取唯一一条记录;

(2)通过Rowkey的range进行scan,即通过设置startRowKey和endRowKey,在这个范围内进行扫描。

这样可以按指定的条件获取一批记录;

(3)全表扫描,即直接扫描整张表中所有行记录。

四、程序题(将正确的答案写入答题纸中。

每题10分,共20分)

1、以一段文本作为输入对象,写一个WordCount程序。

例如文本数据的情况如下

统计出文本中每个单词出现的次数,输出结果如下面例子所示

publicclassWordCount{

publicstaticclassTokenizerMapper

extendsMapper<

Object,Text,Text,IntWritable>

{

privatefinalstaticIntWritableone=newIntWritable

(1);

privateTextword=newText();

publicvoidmap(Objectkey,Textvalue,Contextcontext

)throwsIOException,InterruptedException{

StringTokenizeritr=newStringTokenizer(value.toString());

while(itr.hasMoreTokens()){

word.set(itr.nextToken());

context.write(word,one);

}

publicstaticclassIntSumReducer

extendsReducer<

Text,IntWritable,Text,IntWritable>

privateIntWritableresult=newIntWritable();

publicvoidreduce(Textkey,Iterable<

IntWritable>

values,

Contextcontext

intsum=0;

for(IntWritableval:

values){

sum+=val.get();

result.set(sum);

context.write(key,result);

publicstaticvoidmain(String[]args)throwsException{

Configurationconf=newConfiguration();

Jobjob=Job.getInstance(conf,"

wordcount"

);

job.setJarByClass(WordCount.class);

job.setMapperClass(TokenizerMapper.class);

job.setCombinerClass(IntSumReducer.class);

job.setReducerClass(IntSumReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

FileInputFormat.addInputPath(job,newPath(args[0]));

FileOutputFormat.setOutputPath(job,newPath(args[1]));

System.exit(job.waitForCompletion(true)?

0:

1);

}

2、写一段代码,利用Javaapi操作HDFS文件系统,实现文件的上传和下载,

Hadoop文件系统地址为hdfs:

//hadoop:

8020,将本地hadoop.txt文件上传至根目录下的hadoop文件夹中,将HDFS中hadoop文件中的hadoop1.txt下载到本地

publicclassApp{

publicstaticfinalStringHDFS_PATH="

hdfs:

8020"

;

//创建FileSystem

Configurationconfiguration=newConfiguration();

FileSystemfileSystem=FileSystem.get(newURI(HDFS_PATH),configuration,"

hadoop"

//文件上传

PathlocalPath=newPath("

hadoop.txt"

PathhdfsPath=newPath("

/hadoop"

fileSystem.copyFromLocalFile(localPath,hdfsPath);

//文件下载

hdfsPath=newPath("

/hadoop/hadoop1.txt"

localPath=newPath("

hadoop1.txt"

fileSystem.copyToLocalFile(hdfsPath,localPath);

五、分析题(将正确的答案写入答题纸中。

每题20分,共20分)

1、有如下一个场景,有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M,要求返回频数最高的100个词,写出解决问题主要思路。

主要考察map和reduce的运用分析,能体现出这几点即可得分

Step1:

顺序读文件中,对于每个词x,取hash(x)%5000,然后按照该值存到5000个小文件(记为f0,f1,...,f4999)中,这样每个文件大概是200k左右,如果其中的有的文件超过了1M大小,还可以按照类似的方法继续往下分,直到分解得到的小文件的大小都不超过1M;

Step2:

对每个小文件,统计每个文件中出现的词以及相应的频率(可以采用trie树/hash_map等),并取出出现频率最大的100个词(可以用含100个结点的最小堆),并把100词及相应的频率存入文件,这样又得到了5000个文件;

Step3:

把这5000个文件进行归并(类似与归并排序);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2