我已经研究了fileinputformat,其中filename是键,文本内容是值,如何在运行hadoop mapreduce作业时获取filename/file内容作为map的键/值输入,以及在运行hadoop mapreduce作业时获取filename/filedata作为map的键/值输入,但我在起步时遇到了困难。我以前没有用hadoop做过任何事情,我担心如果别人看到我犯了错误,我会走上错误的道路。
我有一个包含10万个html小文件的目录,我想用java实现的AmazonElasticMapReduce创建一个反向索引。一旦我有了文件内容,我就知道我想要我的map和reduce函数做什么了。
看了这里之后,我的理解是我需要对fileinputformat进行子类化并重写issplitable。但是,我的文件名与html来自的URL相关,所以我想保留它们。我需要做的就是用文本替换nullwriteable吗?还有其他建议吗?
1条答案
按热度按时间pjngdqdw1#
应该使用wholefileinputformat将整个文件传递给Map器