這是Hadoop中的數據結構實現。我想使用map-reduce編程在Hadoop中實現索引。 第1部分=我想在表中使用索引號存儲這個文本文件。 [能夠完成] 第2部分=現在我想爲這個新創建的表執行哈希[不能完成] 第一部分我能夠完成但第二部分我面臨困難 假設如果我有一個文本包含3行文件: 如何是你的工作 如何是你的家人 你好你怎麼樣map reduce程序實現hadoop框架中的數據結構
我想用索引存儲該文本文件。我有map-reduce代碼,它返回每個單詞的索引值,這個索引值可以存儲在索引表(散列表)中 包含每個單詞的索引值的輸出: how 0, how如何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)
就我所知,你可以使用鏈式縮減方法。你可以發佈你的輸入文件和預期的輸出。 –
讓,包含3行的文本文件: 您的工作如何。 你的家人情況如何。 你好嗎。步驟1 ::(求解)輸出包含word :: are 38,hi 32,如何0,如何14,如何34,famly 26,3是18的索引值,作業12,你的7, 步驟2 :(未解決)使用散列技術將這些索引值存儲在散列表中:0%4 = 0(在散列索引0處存儲'如何') 14%4 = 2(存儲'如何'在索引2處) 18%4 = 2 (由於碰撞,存儲'在'在散列索引3處) 7%4 = 3(由於碰撞而在索引4處存儲'你'')這就足夠了 –