`

Hadoop实战-初级部分 之 MapReduce

 
阅读更多

 



第一部分:
 什么是 MapReduce
              Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。
              MapReduce基础出发点是很易懂。它由称为map和reduce的两部分用户程序组成,然后利用框架在计算机集群上面根据需求运行多个程序实例来处理各个子任务,然后再对结果进行归并。
 
第二部分: MapReduce 架构设计

MapReduce 执行流程
 
 
作业提交流程
 
 
术语:
•job:用户的每一个计算请求,就称为一个作业。
•JobTracker:用户提交作业的服务器,同时,它还负责各个作业任务的分配,管理所有的任务服务器。
•TaskTracker:任劳任怨的工蜂,负责执行具体的任务。
•Task:每一个作业,都需要拆分开了,交由多个服务器来完成,拆分出来的执行单位,就称为任务。
第三部分:配置开发环境
•Tool,ToolRunner介绍
•配置文件管理
•Eclipse 开发环境搭建
 
•用Tool来实现打印所有配置的所有属性
•介绍ToolRunner
•配置文件管理
–可以在运行Job时用 –conf 参数来指定要使用的配置文件,这样可以合理管理测试,生产环境所需的配置文件
–示例
•Hadoop-local.xml
•hadoop-localhost.xml
–Hadoop fs –conf  文件名查看相应的配置
•Eclipse 开发环境搭建
–在Resources文件夹中加入mapred-site.xml 即可
–导入Hadoop lib 下所有的Jar包
第四部分:应用例子:词频统计
             如果想统计下过去 50 年毕业生毕业论文出现最多的几个单词,看看大家都在研 究些什么,那收集好论文后,该怎么办呢?
方法一:我可以写一个小程序,把所有论文按顺序遍历一遍,统计每一个遇到的单 词的出现次数,最后就可以知道哪几个单词最热门了。
这种方法在数据集比较小时,是非常有效的,而且实现最简单,用来解决这个问题 很合适。
方法二:写一个多线程程序,并发遍历论文。
方法二肯定比方法一高效。但是写一个多线程程序要比方法一困难多了,我们必须 自己同步共享数据,比如要防止两个线程重复统计文件。
方法三:把作业交给多个计算机去完成。
我们可以使用方法一的程序,部署到 N 台机器上去,然后把论文集分成 N 份,一台 机器跑一个作业。这个方法跑得足够快,但是部署起来很麻烦,我们要人工把程序 copy 到别的机器,要人工把论文集分开,最痛苦的是还要把 N 个运行结果进行整合 (当然我们也可以再写一个程序)。
方法四:让 MapReduce 来帮帮我们吧!
 
      MapReduce 本质上就是方法三,但是如何拆分文件集,如何 copy 程序,如何整 合结果这些都是框架定义好的。我们只要定义好这个任务(用户程序),其它都交  MapReduce 
map 函数和 reduce 函数
  map 函数和 reduce 函数是交给用户实现的,这两个函数定义了任务本身。
map 函数:接受一个键值对( key-value pair ),产生一组中间键值对。 MapReduce 框架会将 map 函数产生的中间键值对里键相同的值传递给一个 reduce 函数。
reduce 函数:接受一个键,以及相关的一组值,将这组值进行合并产生一组规模 更小的值(通常只有一个或零个值)。
 
私塾在线学习网原创内容,转载请注明出处【 http://sishuok.com/forum/blogPost/list/0/5456.html

 

3
20
分享到:
评论

相关推荐

    hadoop实战——初级部分学习笔记 2

    ### Hadoop实战——初级部分学习笔记 2 #### 一、引言与背景 随着大数据时代的到来,Hadoop作为处理大规模数据集的核心工具之一,其重要性和应用范围日益扩大。本文将基于私塾在线《Hadoop实战——初级部分》的...

    Hadoop实战初级部分PPT及源码下载

    【标题】"Hadoop实战初级部分PPT及源码下载" 涵盖了Hadoop初学者的关键知识点,包括Hadoop的基本概念、架构以及实际操作的初步指导。Hadoop是大数据处理领域的重要工具,它是一个分布式文件系统,旨在高效、可靠地...

    大数据技术基础实验报告-MapReduce编程.doc

    配置Hadoop-Eclipse-Plugin是实验的关键部分。确保Hadoop已经启动,然后在Eclipse中进行设置。首先,选择`Window`菜单,进入`Preference`,接着切换到Map/Reduce开发视图。在CentOS系统中,可能需要通过`Window -> ...

    王家林发布hadoop课程pdf时候的资源介绍填写的统一信息

    分别是《云计算分布式大数据Hadoop实战高手之路---从零开始》、《云计算分布式大数据Hadoop实战高手之路---高手崛起》和《云计算分布式大数据Hadoop实战高手之路---高手之巅》,涵盖了Hadoop学习的初级到高级阶段。...

    hadoop完整资料下载

    1. **初级阶段**:理解Hadoop的基本概念,包括HDFS的工作原理、MapReduce的执行流程,以及Hadoop集群的安装与配置。此外,还会学习如何使用Hadoop命令行工具进行数据操作。 2. **中级阶段**:深入理解HDFS的文件...

    实验七:Spark初级编程实践

    【Spark 初级编程实践】 Spark 是一个分布式计算框架,常用于大数据处理,它提供了高效的数据处理能力,包括批处理、交互式查询、实时流处理等。本实验旨在通过实践操作,让学生熟悉 Spark 的基本使用,包括安装...

    hadoop入门共21页.pdf.zip

    9. **Hadoop实战**:学习如何使用Hadoop解决实际问题,例如日志分析、推荐系统、社交网络分析等。 10. **优化技巧**:包括数据局部性优化、内存调优、任务并发度调整等,以提高Hadoop集群的性能。 通过这个压缩包...

    大数据实验报告(实验一到八)

    实验一: 熟悉常用的Linux操作和Hadoop操作 实验二: 熟悉常用的HDFS操作 ...实验五: MapReduce初级编程实践 实验六: 熟悉Hive的基本操作 实验七: Spark初级编程实践 实验八: Flink初级编程实践

    大数据学习路径.docx

    - **实战案例**:完成一个复杂的MapReduce项目,如分析Web服务器日志数据。 ##### 8. Hive增强 - **概念理解**:深入学习Hive的数据模型、查询优化等高级主题。 - **扩展功能**:了解Hive与其他Hadoop生态组件的...

    799 大数据72年是大数据云数据的时代经典学习路线.docx

    - MapReduce部分,涵盖快速上手、程序运行机制、优化策略等,理解MapTask并发数的计算,自定义分区,以及shuffle过程等关键点。 3. **Hive数据仓库工具**: - Hive是基于Hadoop的数据仓库工具,用于处理和分析...

    HCIA(big data)H13-711题库20210811.rar

    每个文档可能涵盖不同部分的知识点,例如第一部分可能侧重于基础知识,第二部分可能涉及Hadoop生态,第三部分可能是数据分析,第四部分可能是项目实践或安全相关的问题。 总的来说,准备HCIA-big data H13-711认证...

    大数据课程列表.pdf

    6. **MapReduce**:MapReduce是Hadoop的核心计算框架,课程讲解其工作原理、基本架构和流程,通过实际案例让学员掌握MapReduce编程,包括初级和高级案例。 7. **Mahout实战**:Mahout是一个基于Hadoop的数据挖掘库...

    大数据学习进阶实战大纲,学习路径

    以下是一个详细的学习进阶实战大纲,旨在帮助你从初级到高级逐步提升技能,避免在不重要的知识点上浪费时间。 第一阶段,你将深入学习Java SE核心知识。这部分涵盖Java编程的基础,如变量、数据类型、数组、运算符...

    大数据课程列表.docx

    MapReduce是Hadoop的核心计算框架,你需要理解其概念、思想,熟悉MapReduce的工作流程,通过初级和高级案例,实际编写和运行MapReduce程序,提升解决实际问题的能力。 **第四阶段:MapReduce应用与优化** 在这一...

    大数据学习路径2.docx

    在Hadoop快速入门部分,会讲解Hadoop的基本概念、应用案例、Hadoop生态系统以及Hive的使用。数据分析流程的案例教学将帮助学习者了解从需求分析到数据展现的全过程。HDFS的深入学习包括其概念、特性和工作流程,同时...

    大数据架构师视频

    - **MapReduce**:提供了一种并行处理大量数据的方法,适合于大规模数据集的计算任务。 - **YARN(Yet Another Resource Negotiator)**:新一代资源管理器,支持多种计算框架。 #### 数据仓库与数据湖 - **Hive**...

    计算机应用技术(大数据)专业人才培养实施方案.pdf

    专业技能上,重点要求学生熟练使用Java语言,精通Linux操作系统及shell脚本,熟悉Hadoop框架及其工作原理,以及MapReduce、Hive、Sqoop等大数据组件的使用。此外,还要求学生能独立搭建高可用集群(HA)。 素质要求...

    2018年月薪15K的大数据工程师全套资料

    1. Hadoop:由Apache基金会开发的分布式计算框架,主要由HDFS(分布式文件系统)和MapReduce(分布式计算模型)组成,用于处理和存储海量数据。 2. Spark:作为Hadoop的补充,Spark提供了更高效的数据处理能力,...

    CDA从初级到脱产就业班视频教程.zip

    8. 大数据分析:可能涉及Hadoop、Spark等大数据处理框架,理解MapReduce和Spark RDD的概念,处理大规模数据集。 9. 项目实战:通过真实案例,让学员将所学应用于解决实际问题,提高解决业务挑战的能力。 10. 职业...

Global site tag (gtag.js) - Google Analytics