Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MapReduce,文件名为键,内容为值,许多小文件_Java_Hadoop_Elastic Map Reduce - Fatal编程技术网

Java MapReduce,文件名为键,内容为值,许多小文件

Java MapReduce,文件名为键,内容为值,许多小文件,java,hadoop,elastic-map-reduce,Java,Hadoop,Elastic Map Reduce,我看了、、和,但我离地有点困难。我以前没有用Hadoop做过任何事情,我担心如果别人看到我犯了错误,我会走上错误的道路 我有一个目录,其中包含大约100K个包含HTML的小文件,我想使用Java实现的Amazon Elastic MapReduce创建一个反向索引。一旦我有了文件内容,我就知道我想要map和reduce函数做什么了 看了之后,我的理解是我需要将FileInputFormat子类化并重写isSplitable。但是,我的文件名与HTML来源的URL相关,因此我希望保留它们。我需要做

我看了、、和,但我离地有点困难。我以前没有用Hadoop做过任何事情,我担心如果别人看到我犯了错误,我会走上错误的道路

我有一个目录,其中包含大约100K个包含HTML的小文件,我想使用Java实现的Amazon Elastic MapReduce创建一个反向索引。一旦我有了文件内容,我就知道我想要map和reduce函数做什么了


看了之后,我的理解是我需要将FileInputFormat子类化并重写isSplitable。但是,我的文件名与HTML来源的URL相关,因此我希望保留它们。我需要做的就是用文本替换NullWritable吗?还有其他建议吗?

您应该使用WholeFileInputFormat将整个文件传递给您的映射程序

conf.setInputFormat(WholeFileInputFormat.class);
conf.setOutputFormat(TextOutputFormat.class);
FileInputFormat.setInputPaths(conf,new Path("input"));
FileOutputFormat.setOutputPath(conf,new Path("output"));