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

map reduce program to implement data structure in hadoop framework

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

我想使用索引来存储这个文本文件。我有 map-reduce 代码 returns 每个词的索引值,这个索引值我可以存储在索引 table (散列 table) 包含每个单词的索引值的输出: 0, 怎么 14, 是 3, 是 18 岁, 工作 12, 你的 7,

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

  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)

您可以创建 Hashtable 对象并放入键和值。

Hashtable hashtable = new Hashtable(); 

如何找到钥匙? 答。您有总的不同单词数和单词索引。 key = 索引 % 不同的词 价值=字

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

boolean collision=hashtable.containsKey(key);  

如果碰撞为真,则线性检查键+1、键+2...,当碰撞为假时,使用下面的行将键和值插入哈希表中。

hashtable.put(key,value);