我有算法,将通过一个大型数据集读取一些文本文件,并搜索这些行中的特定术语.我用Java实现它,但我不想发布代码,所以它看起来我不是在寻找有人为我实现它,但它确实需要很多帮助!这不是我的项目计划,但数据集是巨大的,所以老师告诉我,我必须这样做.
编辑(我没有澄清我的previos版本)我的数据集是在Hadoop集群上,我应该使其MapReduce实现
我正在阅读有关MapReduce的内容,并且认为我首先执行标准实现,然后使用mapreduce执行此操作会更容易/更简单.但是没有发生,因为算法非常愚蠢而且没什么特别的,而且地图缩小了......我无法将它包裹起来.
所以这里是我算法的伪代码
LIST termList (there is method that creates this list from lucene index) FOLDER topFolder INPUT topFolder IF it is folder and not empty list files (there are 30 sub folders inside) FOR EACH sub folder GET file "CheckedFile.txt" analyze(CheckedFile) ENDFOR END IF Method ANALYZE(CheckedFile) read CheckedFile WHILE CheckedFile has next line GET line FOR(loops through termList) GET third word from line IF third word = term from list append whole line to string buffer ENDIF ENDFOR END WHILE OUTPUT string buffer to file
另外,正如您所看到的,每次调用"analyze"时,都必须创建新文件,我知道map reduce很难写入多个输出???
我理解mapreduce直觉,我的例子似乎非常适合mapreduce,但是当谈到这样做时,显然我不够了,我很生气!
请帮忙.