hadoop入门实例教程40-MapReduce高阶实现

hadoop入门实例教程40-MapReduce高阶实现

ID:38835853

大小:1.57 MB

页数:14页

时间:2019-06-20

hadoop入门实例教程40-MapReduce高阶实现_第1页
hadoop入门实例教程40-MapReduce高阶实现_第2页
hadoop入门实例教程40-MapReduce高阶实现_第3页
hadoop入门实例教程40-MapReduce高阶实现_第4页
hadoop入门实例教程40-MapReduce高阶实现_第5页
资源描述:

《hadoop入门实例教程40-MapReduce高阶实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

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

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

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

5、()方法中进行读取文件的初始化处理全局数据文件的传递欢迎访问我们的官方网站www.ibeifeng.com

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。