使用 Hadoop map Reduce 处理 HTML 文件



我在hdfs中有一个输入文件夹,其中包含数千个HTML文件:

/data/htmls/1/(HTML files)
/data/htmls/2/(HTML files)
.
.
/data/htmls/n/(HTML files)
我有一个java函数,它将HTML文件作为

输入并解析它,我想在映射器函数中读取这些HTML文件并将它们作为输入提供给解析器函数。因为输入文件是逐行处理的映射函数,有没有办法处理HTML文件?

我不确定它能不能用得怎么样,但是Mahout XmlInputFormat是一个不错的XML阅读器。您也许能够将其调整为HTML工作。

创建作业对象之前,在配置中设置以下内容:

conf.set("xmlinput.start", "<tag>");
conf.set("xmlinput.end", "</tag>");

然后在创建作业对象后通过以下内容设置输入类:

job.setInputFormatClass(XmlInputFormat.class);

这会选择指定标签内的所有内容作为单个输入字符串。

例如,如果您选择<html> and </html>(或<body> </body>或任何其他匹配的标签对(作为开始和结束标签,您应该将其中的所有内容作为单个记录传递给映射器。

希望这是有帮助的。

相关内容

  • 没有找到相关文章

最新更新