Mapeduce编程八大步骤

简介: Mapreduce编程八大步 1.1:指定读取的文件位于哪里 FileInputFormat.setInputPaths() 指定如何对输入文件进行格式化,把输入文本每一行解析为键值对 job.

Mapreduce编程八大步

1.1:指定读取的文件位于哪里

FileInputFormat.setInputPaths()
指定如何对输入文件进行格式化,把输入文本每一行解析为键值对
job.setInputFormatClass()


1.2:指定自定义的Map类
job.setMapperClass()
//map输出的<k,v>类型,如果<k3,v3>的类型与<k2,v2>类型一致,则可以省略
//job.setMapOutputKeyClass()
//job.setMapOutputValueClass()


1.3:分区
job.setPartitionerClass()
//设置reduce任务个数
//job.setNumReducetasks(1)


1.4:TODO 排序  分组


1.5:规约

job.setCombinerClass()


2.1:指定自定义的Reduce类
job.setReduceClass()
//指定reduce的输出类型
//job.setOutputKeyClass()
//job.setOutputValueClass()


2.2:指定写出的文件位置
FileOutputFormat.setOutputPath()
指定如何对输出文件格式化类型
job.setoutputFormatClass()


2.3:把job提交给JobTracker运行

System.exit(status)


MapReduce程序的执行步骤:

1.Map任务处理

1.1  读取输入文件内容,解析成key,value对,对输入文件的每一行,解析成key,value对。每一个键值对调用一次map

函数

1.2  写自己的逻辑,对输入的key,value处理,转换成新的key,value输出

1.3  对输出的key,value进行分区

1.4  对不同分区的数据,按照key进行排序,分组相同key的value放到一个集合中

1.5  (可选)分组后的数据进行规约

2. reduce任务处理

2.1  对多个Map任务的输出,按照不同的分区,通过网络copy到不同的reduce节点

2.2  对多个map任务的输出进行合并,排序,写reduce函数自己的逻辑,对输入的key,value处理,转换成新的key,value输出

2.3  把reduce的输出保存到文件中

相关文章
|
7月前
|
存储 算法 搜索推荐
Java数据结构:从基础到高级应用
Java数据结构:从基础到高级应用
98 0
|
7月前
|
存储 安全 算法
Java入门高频考查基础知识7-深入挖掘Java集合框架的奇幻世界2(39题2.8万字参考答案)
Java 集合框架提供了一组实现了各种集合接口的类。这些集合类提供了对对象组进行存储、操作和检索的高效方式,并且是 Java 中最常用的数据结构之一。 Java 集合框架主要包括 Collection 和 Map 两个顶层接口,它们分别有各种实现类来满足不同的需求。 在 Collection 部分,包括 List、Set 和 Queue 接口,它们分别对应着有序列表、集合和队列这三种数据结构。常用的实现类包括 ArrayList、LinkedList、HashSet、TreeSet 等,它们提供了各自特
67 0
Java入门高频考查基础知识7-深入挖掘Java集合框架的奇幻世界2(39题2.8万字参考答案)
|
7月前
|
存储 XML JavaScript
Java入门高频考查基础知识5(扎实技术基础应变一切变化-45题4.2万字参考答案)
数据结构是指在计算机中组织和存储数据的方式,它建立了数据元素之间的关系,以及对这些关系施加的操作。在程序设计中,数据结构是一种非常重要的概念,它对于实现高效的数据存储、检索和操作起着关键性的作用。逻辑结构逻辑结构是数据对象中数据元素之间的逻辑关系,包括线性结构(如数组、链表)、树形结构(如二叉树、平衡树)以及图形结构等。物理结构:物理结构是数据的逻辑结构在计算机中的存储形式,包括顺序存储结构和链式存储结构等。数据操作数据操作是指在一组数据上定义的操作,包括插入、删除、查找、排序等。
107 0
|
7月前
|
存储 安全 算法
Java入门高频考查基础知识6-深入挖掘Java集合框架的奇幻世界(45题3.6万字参考答案)
Java 集合框架提供了一组实现了各种集合接口的类。这些集合类提供了对对象组进行存储、操作和检索的高效方式,并且是 Java 中最常用的数据结构之一。 Java 集合框架主要包括 Collection 和 Map 两个顶层接口,它们分别有各种实现类来满足不同的需求。 在 Collection 部分,包括 List、Set 和 Queue 接口,它们分别对应着有序列表、集合和队列这三种数据结构。常用的实现类包括 ArrayList、LinkedList、HashSet、TreeSet 等,它们提供了各自特
106 0
|
7月前
第一章:LINGO 快速入门案例:生产计划问题
第一章:LINGO 快速入门案例:生产计划问题
166 0
|
设计模式 算法 开发工具
软件设计师总结-含括学习方法和学习过程,可参考(上)
软件设计师总结-含括学习方法和学习过程,可参考(上)
|
设计模式 算法 搜索推荐
软件设计师总结-含括学习方法和学习过程,可参考(下)
软件设计师总结-含括学习方法和学习过程,可参考(下)
121 0
|
缓存 微服务
聊聊编程学习方法,企业级开发到底在做什么,难不难?
聊聊编程学习方法,企业级开发到底在做什么,难不难?
|
监控 数据可视化 测试技术
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型
278 0
软工导第一节课 计算机软件工程学作一个简短的概述,回顾计算机系统发展简史 软件工程的基本原理和方法有概括的本质的认识,详细讲解生命周期相关知识讲解8种典型的软件过程模型