如何在MapReduce的各任务之间共享数据
2016-01-18 14:18
169 查看
我们的作业在提交给JobTracker之后,由JobTracker分发到各个TaskTracker节点去执行,有些TaskTracker节点运行Mapper任务,有些TaskTracker节点运行Reducer任务。在任务运行过程中,可能需要用到外部的数据或者文件,比如指定某个运行时参数的值,或者使用非常小的配置文件,怎么把这些值或者文件传递给各个TaskTracker哪?
1、通过Configuration在Job中进行相应的设置,在Map或者Reduce进行读取。
Configuration conf=new COnfiguration()
conf.set(String name,String value);
conf.setBoolean(String
name,Boolean value);
conf.setInt(String
name,int value);
conf.setFloat(String
name,Float value);
conf.setLong(String
name,Long value);
conf.get(String
name);
conf.getInt(String name);
2、通过DistributedCache进行文件的共享
在job中配置
job.setCacheFile(Path path);
在Maper之间的setup方法中一般使用
Path[] DistributedCache.getLocalCacheFiles(conf);
1、通过Configuration在Job中进行相应的设置,在Map或者Reduce进行读取。
Configuration conf=new COnfiguration()
conf.set(String name,String value);
conf.setBoolean(String
name,Boolean value);
conf.setInt(String
name,int value);
conf.setFloat(String
name,Float value);
conf.setLong(String
name,Long value);
conf.get(String
name);
conf.getInt(String name);
2、通过DistributedCache进行文件的共享
在job中配置
job.setCacheFile(Path path);
在Maper之间的setup方法中一般使用
Path[] DistributedCache.getLocalCacheFiles(conf);
相关文章推荐
- 《iOS Human Interface Guidelines》——HealthKit
- C#中如何从字符串中提取数字
- ubuntu 无线网卡没有驱动
- css命名规范总结
- linux打印彩色字
- Xcode LaunchImage 图片尺寸
- 注释与变量命名
- 小米note root经验分享
- 用CSS3来添加项目编号
- 【海洋大学】课程、教务管理新模式
- php读取指定目录文件夹下所有文件名
- 属性访问修饰符小实验
- Java(1)--基本概述
- 归档 解归档
- 学习NLP,AI,Deep Learning 的牛逼的教程
- Socket实现简单聊天室
- 泛型依赖注入
- php实现快速排序
- 封装的关键字--------为了代码安全
- 11、多线程