做网站包括备案吗,上海网站制作计划,北京建设网站设计,水利工程建设信息网站一、概念 1.MapReduce 设计就是“计算向数据靠拢”#xff0c;而不是“数据向计算靠拢”#xff0c;因为移动#xff0c;数据需要大量的网络传输开销。 2.Hadoop MapReduce是分布式并行编程模型MapReduce的开源实现。 3.特点 #xff08;1#xff09;非共享式#xff0c;…一、概念 1.MapReduce 设计就是“计算向数据靠拢”而不是“数据向计算靠拢”因为移动数据需要大量的网络传输开销。 2.Hadoop MapReduce是分布式并行编程模型MapReduce的开源实现。 3.特点 1非共享式容错性好。 2普通PC机便宜扩展性好。 3只有what没有how简单。 4使用场景批处理、非实时、数据密集型。 4.MapReduce 采用“分而治之”策略 一个存储在分布式文件系统中的 大规模数据集会被切分成许多独立的分片 (split), 这些分片可以被多个Map 任务并行处理。 5.MapReduce 1.0体系结构 1Hadoop MapReduce采用Master/Slave结构。 Master是整个集群的唯一的全局管理者功能是作业管理、状态监控和任务调度等即MapReduce中的JobTracker。 Slave负责任务的执行和任务状态的报告即MapReduce中的TaskTracker。 2MapReduce体系结构主要由四个部分组成分别是 Client 、JobTracker 、TaskTracker 以及Task。 3TaskTracker是JobTracker和Task之间的桥梁 4JobTracker负责很多任务 a.负责资源监控和作业调度 b.监控所有TaskTracker与Job的健康状况 c.跟踪任务的执行进度、资源使用量等信息并将这些信息告诉任务调度(TaskScheduler)。 6.map函数和reduce函数 1map接收原始的键值对进行一层处理然后reduce只接受处理过的键值对进行二次处理大致流程如下 2可以连着使用 Map是映射负责数据的过滤分法将原始数据转化为键值对 Reduce是合并将具有相同key值的value进行处理后再输出新的键值对作为最终结果。 3Map 和Reduce操作需要我们自己定义相应Map 类和Reduce 类而shuffle则是系统自动帮我们实现的。 4shuffle可以简单的理解为map的售后但是同样是reduce的“售前”。 在map端主要是写入缓存溢写操作合并操作。 在reduce端主要是询问“前辈”map任务完成了吗如果溢写了就帮reduce提前归并好然后发给reduce。 7.slot 1是执行 Map 或 Reduce 任务的计算资源单位。 2Map slot 用于处理输入数据的切片并生成中间结果而 Reduce slot 则用于处理中间结果并生成最终输出。 3每个节点都有一定数量的 Map slot 和 Reduce slot它们的数量可以根据集群配置和需求动态分配。 4有效地利用这些 slot 可以提升 MapReduce 作业的执行效率和性能。 二、习题
主观题
1. 试画出使用MapReduce对英语段落 ”Whatever is worth doing best Whatever is worth doing well”进行单词统计过程
答 1Map阶段 Mapper将输入的英语段落按照空格分割为单词并对每个单词生成一个键值对其中键为单词值为1。 输入 Whatever is worth doing best Whatever is worth doing well 输出中间键值对 (Whatever, 1), (is, 1), (worth, 1), (doing, 1), (best, 1), (Whatever, 1), (is, 1), (worth, 1), (doing, 1), (well, 1) 2Shuffle阶段 对中间键值对按照键进行排序和分组以便后续Reduce阶段对同一个键的值进行聚合处理。此处不需要额外的操作因为Mapper已经按照单词生成了键值对。 3 Reduce阶段 Reducer对每个单词的键值对进行聚合计算每个单词出现的总次数。 输入中间键值对 (Whatever, [1, 1]), (best, [1]), (doing, [1, 1]), (is, [1, 1]), (well, [1]), (worth, [1, 1]) 输出最终结果 (Whatever, 2), (best, 1), (doing, 2), (is, 2), (well, 1), (worth, 2) 4. 使用MapReduce完成对下表中及格同学的筛选描述编程设计实现过程(文字描述即可,不用写代码)。 答 1Map阶段 Mapper函数读取每一行学生记录将学号和成绩作为输入。 对于每个学生记录Mapper检查成绩是否及格大于等于60分。 如果成绩及格Mapper输出键值对学号成绩。 2Shuffle阶段 中间结果根据学号进行排序和分组以便后续Reduce阶段对每个学生的成绩进行聚合处理。 3Reduce阶段 Reducer函数接收每个学生的学号和成绩列表作为输入。 对于每个学生Reducer检查其成绩列表中是否有成绩及格。 如果成绩列表中有成绩及格Reducer输出该学生的学号和成绩。 总感觉reduce啥也没干。。。。。 7.分析描述Shuffle的执行过程。 答 1Map任务输出Map任务生成键值对并根据键的哈希值将其分区。 2本地排序每个分区的键值对在本地磁盘上按键排序。 3数据传输Reduce任务从各个Map任务所在的节点上拉取pull属于自己的分区数据。 4 数据合并Reduce任务将拉取到的数据进行合并准备进行Reduce处理。 单选题 2. Shuffle过程不包括下列哪个过程?() A. 分区 B. 排序 C. 合并归并 D. 切分 正确答案D 切分应该是map干的吧虽然没说 3. Map和Reduce函数都是以( )作为输入。 A. Key B. Text C. 键值对 D. 文件块 正确答案C 5. Reduce函数的任务是() A. 通过Hash函数对数据进行排序 B. 对数据进行分区 C. 将输入的一系列具有相同Key的键值对以某种方式组合起来输出处理后的键值对 D. 对数据进行解析得到键值对 正确答案C 1.MapReduce的核心思想是 ( ) A. 分而治之 B. 流计算 C. 分布式存储 D. 批处理 正确答案 A 2.MapReduce处理海量数据的时候中间数据存储在() A. 内存 B. 磁盘 C. ResourceManager D. Container 正确答案 B 3.属于MapReduce的设计理念的是。() A. 数据向计算靠拢 B. 自行进行工作调度 C. 计算向数据靠拢 D. 无需负载均衡 正确答案 C 4.Map函数将输入的元素转换成键值对下列说法不正确的是( ) A. 一个Map函数只能转换出一个键值对 B. Map转换出的键没有唯一性 C. 同一输入元素可以通过一个Map任务生成具有相同键的多个键值对 D. 键不可以作为输出的身份标识 正确答案 A 5.每个MapReduce程序都需要一个() A. Task B. Partitioner C. Job D. Combiner 正确答案 C 多选题 6. 编写MapReduce程序时,()。 A. 编写Map处理逻辑 B. 编写Reduce处理逻辑 C. 编写main方法 D. 提前生成输出文件夹 正确答案A,B,C