hadoop入门实例教程40-MapReduce高阶实现.ppt_第1页
hadoop入门实例教程40-MapReduce高阶实现.ppt_第2页
hadoop入门实例教程40-MapReduce高阶实现.ppt_第3页
hadoop入门实例教程40-MapReduce高阶实现.ppt_第4页
hadoop入门实例教程40-MapReduce高阶实现.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Hadoop大数据解决方案进阶应用,Hadoop,讲师:迪伦(北风网版权所有),MapReduce高阶实现 (14),半连接实例 全局作业参数传递 全局数据文件传递,课程目标,实例执行结果:半连接,多数据源连接解决方法的限制,如果数据源两两之间需要进行多个不同的主键和外键的连接,则无法一次性完成数据源的连接 通过多次使用MapReduce过程完成不同主/外键键的连接 例如,有三个数据源,Customers(CustomerID主键)、Orders(OrderID主键,CustomerID外键、ItemID外键)、Products(ItemID主键) 解决方法:设计两个MapReduce作业 第

2、一个作业完成Customers与Orders的连接 第二个作业完成第一个作业的连接结果与Products的连接,全局作业参数/数据的传递,MapReduce作业处理过程中,有时需要让每个节点共享一些重要的计算参数或数据 对于小的计算参数,可以通过Configuration类来传递 对于较大的数据,可以用共享数据文件来进行传递 尽量避免用硬代码方式在程序中设置作业参数,而是设置作业参数 实现一个具有一定通用性的程序,允许任意指定字段作为参数 运行程序时指定需传递的数据 然后该参数作为一个属性保存在Configuration对象中 并允许Map和Reduce节点从Configuration对象中获

3、取和使用该属性值,全局作业参数的传递,Configuration类提供的保存和获取属性的方法,全局作业参数的传递实例,需求: 处理顾客和订单数数据集的连接 连接主键参数希望通过在命令行中给出连接主键的列号来设置 代码实现 将第1个输入参数设置为GroupKeyColIdx属性,全局作业参数的传递实例,在Mapper或Reducer类的初始化方法中从Configuration对象中读取该属性值,查询全局MapReduce作业属性,程序可以通过Configuration对象,使用预定义的属性名称查询计算作业相关的信息,查询全局MapReduce作业属性,通过Configuration类中提供的属性

4、获取方法进行,在属性读取方法中把相应的作业属性名设置好即可,全局数据文件的传递,通过分布式缓存实现数据文件的传递 先将这些文件传送到分布式缓存中 然后各个节点从分布式缓存中将文件复制到本地的文件系统中使用 为提高访问速度,通常会将较小的文件数据读入各节点的内存中使用 涉及的编程设置 Job类public void addCacheFile(URL uri):将一个文件存放到分布式缓存中 Mapper或Reducer的context类public Path getLocalCacheFiles():获取设置在分布式缓存中的文件路径,以便能将这些文件读入到每个节点,全局数据文件的传递,实现将文件存入分布式缓存:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论