云计算 Cloud Computing(PPT讲稿)MapReduce进阶

Cloud Computing MapReduce进阶

主要内容(6学时) 简介 复合键值对的使用 用户定制数据类型 用户定制输入/输出格式 用户定制 Partitioner和 Combiner 组合式 MapReduce计算作业 多数据源的连接 全局参数/数据文件的传递与使用 关系数据库的连接与访问
简介 复合键值对的使用 用户定制数据类型 用户定制输入/输出格式 用户定制Partitioner和Combiner 组合式MapReduce计算作业 多数据源的连接 全局参数/数据文件的传递与使用 关系数据库的连接与访问

简介 MP( Message Passing Interface)等并行编程方法 缺少对高层并行编程模型和统一计算框架的支持,需要程序员处理许 多底层细节,为此 Mapreduce在三个层面上做了系统而巧妙的设计 构思。 0在大数据处理的基本方法上,对相互计算依赖不大的数据采取“分 而治之”的处理策略。 借鉴了LSp语言中的思想,用Map和 Reduce两个函数提供了高层 的并行编程抽象模型和接口。 。对于诸多的底层实现和处理细节 MapReduce提供了一个统一的计 算框架,大大减轻了程序员在编程是的负担
MPI(Message Passing Interface) 等并行编程方法 缺少对高层并行编程模型和统一计算框架的支持,需要程序员处理许 多底层细节, 为此MapReduce在三个层面上做了系统而巧妙的设计 构思。 ◦ 在大数据处理的基本方法上,对相互计算依赖不大的数据采取“分 而治之”的处理策略。 ◦ 借鉴了Lisp语言中的思想,用Map和Reduce两个函数提供了高层 的并行编程抽象模型和接口。 ◦ 对于诸多的底层实现和处理细节MapReduce提供了一个统一的计 算框架,大大减轻了程序员在编程是的负担

复合键值对的使用 把小的键值对合并成大的键值对 Map计算过程中所产生的中间结果键值对需要通过网络传输给 Reduce节点,大规模的键值对可能会大幅增大网络通信开销,并 且降低程序执行速度,为此开采用一个基本的优化方法,即把大量 小的键值对合并为较大的键值对。 。例如在单词同现矩阵计算中,单词a可能会与多个其他单词共同出 现,因而一个Map可能会产生很多个单词a与其他单词的键值对, 如下:
把小的键值对合并成大的键值对 ◦ Map计算过程中所产生的中间结果键值对需要通过网络传输给 Reduce节点,大规模的键值对可能会大幅增大网络通信开销,并 且降低程序执行速度,为此开采用一个基本的优化方法,即把大量 小的键值对合并为较大的键值对。 ◦ 例如在单词同现矩阵计算中,单词a可能会与多个其他单词共同出 现,因而一个Map可能会产生很多个单词a与其他单词的键值对, 如下:

复合键值对的使用 0 →3 a→{b:1,c:3,d:5,e:8,f4} 4 0→8 °<a
◦ 1 ◦ 3 a {b:1,c:3, d:5, e:8, f:4} ◦ 4 ◦ 8 ◦ 4

巧用复合键让系统完成排序 丶Map计算过程中,系统自动按照Map的输出键进行排序, 因此进入 Reduce的键值对都是按照key值排序的,但有时 希望vaue也按一定规则排序。 方法1:在 Reduce过程中对{aue刚表中的值进行 本地排序,但当{ value刚列表数据量巨大时 必须使用复杂的外排算法,会很耗时。 方法2:将vaue中需要排序的部分加入到key中, 形成复合键,这样能利用 Mapreduce系统 的排序功能自动完成排序
Map计算过程中,系统自动按照Map的输出键进行排序, 因此进入Reduce的键值对都是按照key值排序的,但有时 希望value也按一定规则排序。 方法1:在Reduce过程中对{value}列表中的值进行 本地排序,但当{value}列表数据量巨大时 必须使用复杂的外排算法,会很耗时。 方法2:将value中需要排序的部分加入到key中, 形成复合键,这样能利用MapReduce系统 的排序功能自动完成排序

用户定制数据类型 Hadoop内置的数据类型 Booleanwritable:标准布尔型数值 ByteWritable:单字节数值 Doublewritable:双字节数 F| oatwritab|e:浮点数 wrItable:整型数 LongWritable:长整型数 Text:使用UTF8格式存储的文本 Nullwritable:当中的key或vaue为空时使用
Hadoop内置的数据类型 BooleanWritable:标准布尔型数值 ByteWritable:单字节数值 DoubleWritable:双字节数 FloatWritable:浮点数 IntWritable:整型数 LongWritable:长整型数 Text:使用UTF8格式存储的文本 NullWritable:当中的key或value为空时使用

用户定制数据类型 自定义数据类型的实现 0首先实现 Writable接口,以便该数据能被序列化后完成 网络传输或文件输入/输出 其次,如果该数据需要作为key使用,或者要比较数值 大小时,则需要实现 Writable comparable接囗 例如将一个三维坐标PX,y,z)定制为一个数据类型 pubic class Point3D implements Writable private float x,y, Z public void readFields(DataInput in) throws IOException public void write(DataOutput out) throws IOException
自定义数据类型的实现 ◦ 首先实现Writable接口,以便该数据能被序列化后完成 网络传输或文件输入/输出; ◦ 其次,如果该数据需要作为key使用,或者要比较数值 大小时,则需要实现 WritableComparable接口。 ◦ 例如将一个三维坐标P(x,y,z)定制为一个数据类型 pubic class Point3D implements Writable { private float x,y,z; public void readFields(DataInput in) throws IOException {……} public void write(DataOutput out) throws IOException {……} }

用户定制数据类型 如果 Point3D还需要作为主键值使用,或者需要比 较大小时,还应该实现 Writab| e comparable接口 pubic class Point 3D implements Writable Comparable private float x, y, z public void read Fields(Datainput in) throws IoException public void write(Data Output out) throws IOException
如果Point3D还需要作为主键值使用,或者需要比 较大小时,还应该实现WritableComparable接口 pubic class Point3D implements WritableComparable { private float x,y,z; public void readFields(DataInput in) throws IOException {……} public void write(DataOutput out) throws IOException {……} }

用户定制输入/输出格式 Hadoop内置数据输入格式和 RecordReader TextInputFormat:是系统默认的数据输入格式,可以文 本文件分块逐行读入,读入一行时,所产生的kye为当前 行在整个文件中的字节偏移位置,而 ivalue就是行内容。 KeyvalueInputFormat:是另一个常用的数据输入格式, 可将一个安照格式逐行存放的文件逐行读 出,并自动解析成相应的key和va|ue
Hadoop内置数据输入格式和RecordReader ◦ TextInputFormat:是系统默认的数据输入格式,可以文 本文件分块逐行读入,读入一行时,所产生的kye为当前 行在整个文件中的字节偏移位置,而value就是行内容。 ◦ KeyValueInputFormat:是另一个常用的数据输入格式, 可将一个安照格式逐行存放的文件逐行读 出,并自动解析成相应的key和value
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 四川大学:《数据库技术》课程教学资源(PPT课件讲稿)数据库设计.ppt
- 《程序设计基础》课程PPT教学课件(C++)第3讲 C++程序控制结构.ppt
- MSCIT 5210/MSCBD 5002:Knowledge Discovery and Data Mining:Chapter 4:Data Warehousing, On-line Analytical Processing and Data Cube.ppt
- 香港中文大学:Achieving Secure and Cooperative Wireless Networks with Trust Modeling and Game Theory.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)项目范围计划(主讲:周立新).ppt
- 《网上开店实务》课程教学资源(PPT讲稿)学习情境3 网店装修.ppt
- 中国科学技术大学:Linux内核源代码导读(PPT讲稿,陈香兰).ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 04 Object-Based Programming.ppt
- 北京航空航天大学:SimplyDroid - Efficient Event Sequence Simplification for Android Application.pptx
- 南京大学:《计算机图形学》课程教学资源(PPT课件讲稿)第7讲 图元填充与裁剪算法.pptx
- 香港浸会大学:Introduction to Linux and PC Cluster.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第8章 结构体、共用体与枚举类型.ppt
- 《计算机系统安全》课程教学资源(PPT课件讲稿)第二章 黑客常用的系统攻击方法.ppt
- 上海交通大学:《挖掘海量数据集 Mining Massive Datasets》课程教学资源(PPT讲稿)Lecture 06 搜索引擎 Search Engines.ppt
- 《Introduction to Java Programming》课程PPT教学课件(Sixth Edition)Chapter 16 Applets and Multimedia.ppt
- 《计算机组装与维护》课程教学资源(PPT课件讲稿)第9章 BIOS设置(设置BIOS).ppt
- 香港城市大学:基序检测的随机化算法(PPT讲稿)Randomized Algorithm for Motif Detection.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第七章 图及其应用.ppt
- 3D Reconstruction from Images:Image-based Street-side City Modeling.ppt
- 大连理工大学:《计算机网络》课程教学资源(PPT课件讲稿)Chapter 2 应用层 application layer.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第7章 用函数实现模块化程序设计.pptx
- 中国科学技术大学:云计算及安全(PPT讲稿)Cloud Computing & Cloud Security.pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)数字图像处理基础 Basics of Digital Image Processing.pptx
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)图像压缩编码 Image Compression.pptx
- 《计算机组成原理》课程教学资源(PPT课件讲稿)第3章 计算机的算术运算.pptx
- Analysis of Algorithms(PPT讲稿)Data Structures and Data Management.ppt
- 《C语言程序设计》课程电子教案(PPT课件讲稿)第七章 数组.ppt
- 《计算机网络与因特网 Computer Networks and Internets》课程教学资源(PPT课件讲稿)第二讲 互联网应用软件.ppt
- 《计算机操作系统》课程教学资源(PPT课件讲稿)第四章 存储器管理.ppt
- 《单片机应用技术》课程PPT教学课件(C语言版)第10章 单片机测控接口.ppt
- 中国科技大学计算机系:《黑客反向工程》课程教学资源(PPT课件讲稿)黑客反向工程导论(陈凯明).ppt
- 香港科技大学:Record Linkage for Big Data.pptx
- 沈阳理工大学:《计算机网络》课程教学资源(PPT课件讲稿)第2章 IP技术.ppt
- 《编译技术》课程教学资源(PPT课件讲稿)第六章 运行时存储空间的组织和管理.ppt
- 《面向对象程序设计》课程教学大纲(适用专业:信息与计算科学).pdf
- 《Java Web应用开发技术与案例教程》教学资源(PPT讲稿)第7章 Java Web常用开发模式与案例.ppt
- 程序设计工具(PPT课件讲稿)Software Program Tool.ppt
- 山东大学:《网站设计与建设》课程教学资源(PPT课件讲稿)第三部分 网站设计技术 第20章 MySQL数据库.ppt
- 北京大学:《项目成本管理》课程教学资源(PPT课件讲稿)项目范围计划(主讲:周立新).ppt
- 《JAVA面向对象入门技术》教程教学资源(PPT课件讲稿)第二章 Java语言基础.ppt