mapreduce 全局变量
- 作者: 源来NZZL886
- 来源: 51数据库
- 2020-09-26
hadoop可以使用Configuration在Job的生命周期保存简单变量,当遇到复杂的变量是可能处理起来就比较困难了,如将一个对象或者集合作为全局变量传递,这时Configuration就不能满足需求了,不过可以试着将对象序列化保存成文件,然后使用DistributeCache,当时这方法不是太好看。要是在Job还需要实现对全局变量的修改,并且修改需要应该到之后Task的运行,那个人觉得hadoop就无能为力了,也许可以引入其他第三方工具,具体我并不了解
肯定是不起作用的,想一个最简单的例子,分布式计算,这个map可能在很多台机器上同时运行,那么每台机器上mapper都有这个全局变量,对它的任何改动都不会传递到后面的单台或者多台reduce机器上。
hadoop有很多种方式来支持共享数据,较为常用的可以使用分布式缓存,适用的场景是共享的数据量较小的情况
肯定是不起作用的,想一个最简单的例子,分布式计算,这个map可能在很多台机器上同时运行,那么每台机器上mapper都有这个全局变量,对它的任何改动都不会传递到后面的单台或者多台reduce机器上。
hadoop有很多种方式来支持共享数据,较为常用的可以使用分布式缓存,适用的场景是共享的数据量较小的情况
推荐阅读
