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<a,b> <a,C>→3 a→{b:1,c:3,d:5,e:8,f4} <a,d>4 0<a,e>→8 °<a
◦ <a, b> 1 ◦ <a, c> 3 a {b:1,c:3, d:5, e:8, f:4} ◦ <a, d> 4 ◦ <a, e> 8 ◦ <a, f> 4