首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Hadoop中的Mappers之间共享HashMap?

如何在Hadoop中的Mappers之间共享HashMap?
EN

Stack Overflow用户
提问于 2017-06-13 13:01:50
回答 1查看 720关注 0票数 0

我能用不同的HashMap与不同的Mapper共享相同的值,比如静态变量吗?我在hadoop集群中运行作业,并试图在运行在不同数据节点上的所有映射器之间共享变量值。

输入==> FileID FilePath

InputFormat => KeyValueTextInputFormat

代码语言:javascript
复制
public class Demo {

    static int termID=0;

    public static class DemoMapper extends Mapper<Object, Text, IntWritable, Text> {


        static HashMap<String, Integer> termMapping = new HashMap<String, Integer>();


        @Override
        protected void map(Object key, Text value, Context context) throws IOException, InterruptedException {

                BufferedReader reader = new BufferedReader(new FileReader(value));

                String line;
                String currentTerm;

                while ((line = reader.readLine()) != null) {
                    tokenizer = new StringTokenizer(line, " ");
                    while (tokenizer.hasMoreTokens()) {
                        currentTerm = tokenizer.nextToken();
                        if (!termMap.containsKey(currentTerm)) {
                            if (!termMapping.containsKey(currentTerm)) {
                                termMapping.put(currentTerm, termID++);
                            }
                            termMap.put(currentTerm, 1);
                        } else {
                            termMap.put(currentTerm, termMap.get(currentTerm) + 1);
                        }
                    }
                }
        }
    }


    public static void main(String[] args) {

    }

}
EN

回答 1

Stack Overflow用户

发布于 2017-06-13 17:26:15

我不认为你真的需要分享任何东西。

你在这里所做的只是各种简单的字数(路径)。

只需输出(currentTerm, 1)并让还原器处理适当的聚合。您还可以添加一个组合器以提高性能。

您不需要担心重复,只需回顾一下WordCount示例即可。

另外,如果您正在读取一个文件并输出extends Mapper<LongWritable, Text, Text, IntWritable>数据,那么您的类型应该是(String, int)

还有一个MapWritable类,但这似乎有点过火了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44522313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档