目录

  • 1 课程资料
    • 1.1 课程标准
    • 1.2 教学日历
    • 1.3 教案
  • 2 大数据时代
    • 2.1 大数据概述
    • 2.2 大数据的4V特征和关键技术
    • 2.3 大数据与云计算、物联网的关系
    • 2.4 直播录屏
    • 2.5 章节测试
  • 3 大数据处理架构Hadoop
    • 3.1 平台搭建(VM+UbuntuKylin16.04+Hadoop伪分布式+Hbase伪分布式)
    • 3.2 Hadoop简介
    • 3.3 Hadoop的版本
    • 3.4 Hadoop项目结构
    • 3.5 Hadoop安装与配置
    • 3.6 Hadoop伪分布式集群搭建
    • 3.7 章节测试
  • 4 分布式文件系统HDFS简介
    • 4.1 分布式文件系统HDFS简介
      • 4.1.1 HDFS的基本操作实验
    • 4.2 HDFS的基本概念
    • 4.3 HDFS的体系结构
    • 4.4 HDFS的存储策略
    • 4.5 HDFS的数据读写过程
      • 4.5.1 第一关:HDFS Java API编程 ——文件读写
    • 4.6 第2关:HDFS-JAVA接口之上传文件
    • 4.7 章节测试
  • 5 分布式数据HBASE
    • 5.1 HBASE简介
    • 5.2 HBASE数据模型
    • 5.3 HBASE的实现原理
    • 5.4 HBASE运行机制
    • 5.5 HBASE的应用方案。
    • 5.6 章节测试
    • 5.7 Hbase数据库的安装
  • 6 MapReduce概述
    • 6.1 分布式并行编程方式
    • 6.2 MapReduce模型
    • 6.3 MapReduce体系结构
    • 6.4 MapReduce的工作流程
    • 6.5 shuffle操作的过程原理
    • 6.6 章节测试
  • 7 Spark简介
    • 7.1 ​ Spark简介
    • 7.2 Spark与Hadoop的对比
    • 7.3 Spark运行架构基本概念和架构设计
    • 7.4 Spark运行基本流程
    • 7.5 RDD设计与运行原理
    • 7.6 Spark应用实例
    • 7.7 章节测试
  • 8 流计算
    • 8.1 流计算概念及框架
    • 8.2 流计算处理流程及应用
    • 8.3 章节测试
  • 9 大数据的应用
    • 9.1 大数据的应用领域
    • 9.2 大数据助力精准防疫
    • 9.3 章节测试
  • 10 拓展阅读
    • 10.1 区块链
    • 10.2 COVID-19疫情的数据科学实践之Python疫情数据爬取
    • 10.3 大数据技术工具
      • 10.3.1 交通大数据案例
  • 11 主题讨论
    • 11.1 主题讨论
章节测试


一、填空题

1. MapReduce最早是由    Google Lab   开发的。

2. MapReduce计算模型的核心是Map和Reduce两个函数,Map的意思是    映射   ,Reduce的意思是    归约    。

3. MapReduce借助于   函数式   程序设计语言(如Lisp等)的设计思想,提供了一种简便的并行程序设计方法。

4. MapReduce是面向大数据并行处理的计算模型、框架和平台,它隐含了以下三层含义:(1)MapReduce是   Cluster Infrastructure   ,一个基于集群的高性能并行计算平台。(2)MapReduce是   Software Framework   ,一个并行计算与运行软件框架。(3)MapReduce是   Programming Model & Methodology  ,一个并行程序设计模型与方法。

5. MapReduce体系结构由  JobClient  、  JobTracker  、TaskTracker  以及Task scheduler四个部分组成。

6.    Shuffle  被称为MapReduce的“心脏”,是所谓“奇迹发生的地方”,它描述着数据从map task输出,到reduce task输入的这段过程。


二、判断题

1. Hadoop框架是用Java语言实现的,因此,MapReduce应用程序则一定也要用Java来编写。( × )

2. MapReduce编程模型的其中一个设计理念,就是“计算向数据靠拢”,而不是“数据向计算靠拢”。( √ )

3. MapReduce适宜计算密集型应用。( × )

4. Mapreduce的input split就是一个block。( × )

5. 每个map槽就是一个线程。( × ) 

6. 不同的Map任务之间不会进行通信。( √ )

7. 不同的Reduce任务之间,则可能会发生信息交换。( × )

8. Input Split是MapReduce对文件进行处理和运算的输入单位,需要对文件进行物理切分。( × )


三、单选题 (共20题)

1.有关MapReduce,下面哪个说法是正确的()  

A.它提供了资源管理能力 

B.它是开源数据仓库系统,用于查询和分析存储在Hadoop中的大型数据集

C.它是Hadoop数据处理层 

正确答案为:C.它是Hadoop数据处理层 

2. 在MapReduce中,如果将reducer数设置为0会发生怎样的情形()  

A.仅有Reduce作业发生

B.仅有Map作业发生

C. Reduce输出会成为最终输出

 正确答案为:B.仅有Map作业发生

3. 在MapReduce中,下面哪个会将输入键值对处理成中间键值对()  

A. Mapper

B. Reducer

C. Mapper和Reducer

正确答案为:A. Mapper

4. 在MapReduce中,Map数取决于()的总量  

A.任务数

B.输入数据

C.输出数据

正确答案为:B.输入数据

5. 在Hadoop的分区阶段,默认的Partitioner是()  

A. HashPar

B. Partitioner

C. HashPartitioner

正确答案为:C. HashPartitioner

6. 下面哪个是一种编程模型,它将大规模的数据处理工作拆分成互相独立的任务然后并行处理()  

A. MapReduce

B. HDFS

C. Pig

正确答案为:A.MapReduce

7. 在Hadoop中,下面哪个是默认的InputFormat类型,它将每行内容作为新值,而将字节偏移量作为key()  

A. FileInputFormat

B. TextInputFormat

C. KeyValueTextInputFormat

正确答案为:B. TextInputFormat

8. 在MapReduce中,对于map输出的中间结果,负责按key进行分区的是()  

A. RecordReader

B. Combiner

C. Partitioner

正确答案为:C.Partitioner

9. 在MapReduce中,下面哪个阶段是并行进行的()  

A. Shuffle和Map

B. Shuffle和Sort

C. Reduce和Sort

正确答案为:B. Shuffle和Sort

10. 关于MapReduce中的键值对,下面陈述正确的是()  

A. Key类必须实现Writable

B. Key类必须实现WritableComparable

C. Value类必须实现WritableComparable

D. Value类必须继承WritableComparable

正确答案为:B. Key类必须实现WritableComparable

11. 在HDFS中,put命令用于()  

A. 将文件或从本地文件系统拷贝到HDFS 

B. 将文件或者目录从本地文件系统拷贝到HDFS 

C. 将文件从HDFS拷贝到本地文件系统

D. 将文件或者目录从HDFS拷贝到本地文件系统

正确答案为:B. 将文件或者目录从本地文件系统拷贝到HDFS

12. 在Hadoop中,下面哪一个是默认的OutputFormat()  

A. SquenceFileOutputFormat

B. LazyOutputFormat

C. DBOutputFormat 

D. TextOutputFormat

正确答案为:D. TextOutputFormat

13. 下面哪个不是Hadoop的输入格式()  

A. ByteInputFormat

B. TextInputFormat

C. SquenceFileInputFormat

D. KeyValueInputFormat

正确答案为:A. ByteInputFormat

14. 在MapReduce中,下面哪个数据流的顺序是正确的()

a. InputFormat b. Mapper c. Combiner d. Reducer e. Partitioner f. OutputFormat  

A. abcdfe 

B. abcedf 

C. acdefb 

D. abcdef

正确答案为:B.abcedf

15. 下面哪个不属于Reducer阶段 ()  

A. Shuffle 

B. Sort

C. Map

D. Reduce

正确答案为:C. Map

16.下面关于MapReduce模型中Map函数与Reduce函数的描述正确的是() 

A.一个Map函数就是对一部分原始数据进行指定的操作。

B.一个Map操作就是对每个Reduce所产生的一部分中间结果进行合并操作。C.Map与Map之间不是相互独立的。

D.Reduce与Reduce之间不是相互独立的。

正确答案为:A.一个Map函数就是对一部分原始数据进行指定的操作。

17. 如何禁用reduce阶段()  

A. 设置conf.setNumreduceTasks(0)

B. 设置job.setNumreduceTasks(0)

C. 设置job.setNumreduceTasks()=0

正确答案为:B. 设置job.setNumreduceTasks(0)

18. shuffle和sort输出的key实现了下面哪个接口()  

A. Writable

B. WritableComparable

C. Configurable

D. ComparableWritable

正确答案为:B. WritableComparable

19. 在MapReduce编程时,如下阶段的顺序是()

A. Mapper Partitioner Shuffle/Sort Combiner 

B. Mapper Partitioner Combiner Shuffle/Sort

C. Mapper Shuffle/Sort Combiner Partitioner 

D. Mapper Combiner Partitioner Shuffle/Sort

正确答案为:D. Mapper Combiner Partitioner Shuffle/Sort

20. 下面生成中间键值对的是()  

A. Reducer 

B. Mapper 

C. Combiner

D. Partitioner

正确答案为:B. Mapper