我有一个算法,它将遍历一个大型数据集,读取一些文本文件,并在这些行中搜索特定的术语。我已经用Java实现了它,但我不想发布代码,因为这样看起来像是在寻找别人来帮我实现,但事实上我真的需要很多帮助!这并不是我项目计划的一部分,但数据集证明非常庞大,所以老师告诉我必须这么做。
编辑:(我之前的版本没有澄清)我拥有的数据集位于Hadoop集群上,我应该进行MapReduce实现。
我正在阅读关于MapReduce的内容,认为我应该先进行标准实现,然后再使用MapReduce会更容易。但并没有发生,因为算法相当愚蠢而且没有什么特别的,而MapReduce……我无法理解它。
以下是我的算法伪代码简述。
此外,正如您所看到的,每次调用“分析”时,都必须创建新文件。我理解mapreduce很难写入多个输出???
我了解mapreduce的直觉,并且我的示例似乎非常适合mapreduce,但是当涉及到实际操作时,显然我不够了解,现在卡住了!
请帮帮忙。
编辑:(我之前的版本没有澄清)我拥有的数据集位于Hadoop集群上,我应该进行MapReduce实现。
我正在阅读关于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
此外,正如您所看到的,每次调用“分析”时,都必须创建新文件。我理解mapreduce很难写入多个输出???
我了解mapreduce的直觉,并且我的示例似乎非常适合mapreduce,但是当涉及到实际操作时,显然我不够了解,现在卡住了!
请帮帮忙。