首页 文章

map reduce程序在hadoop框架中实现数据结构

提问于
浏览
0

这是Hadoop中的数据结构实现 . 我想使用map-reduce编程在Hadoop中实现索引 . 第1部分=我想在表中使用索引号将每个单词存储在该文本文件中 . [能够完成]第2部分=现在我想为这个新创建的表执行散列[无法完成]第一部分我能够完成但第二部分我遇到困难假设我有一个包含3的文本文件专栏:你的工作怎么样你的家人怎么样你好

我想使用索引存储此文本文件 . 我有map-reduce代码返回每个单词的索引值,这个索引值我能够存储在索引表(哈希表)中包含每个单词的索引值的输出:如何0,如何14,是3,是18,工作12,你的7,

现在要存储在哈希表中,对每个单词(索引值)应用散列,使用模块(文件中不同元素的数量),比如说4.对于单词的每个索引值,并应用哈希函数(模块'%')存储在哈希表中 . 如果相同位置发生碰撞,则转到下一个位置并存储它 .

0%4=0(store 'how' at hash index 0)
  14%4=2(store 'how' at has index 2)
  18%4=2(store 'is' at hash index 3 because of collision) 
  7%4=3 (store 'your' at index 4 because of collision)

1 回答

  • 1

    您可以创建Hashtable对象并放置键和值 .

    Hashtable hashtable = new Hashtable();
    

    如何找到钥匙?答 . 你有完全不同的单词数和单词的索引 . key = index%no of distinct word value = word

    在哈希表中插入记录之前,检查该键是否发生冲突 . 如何检查碰撞发生?答 .

    boolean collision=hashtable.containsKey(key);
    

    如果碰撞为真,则线性检查密钥1,密钥2,...并且当您遇到冲突时为假,使用下面的行在哈希表中插入密钥和值 .

    hashtable.put(key,value);
    

相关问题