我想用hadoop实现一个字符串匹配(boyer-moore)算法。我刚开始使用hadoop,所以我不知道如何用java编写hadoop程序。
到目前为止,我看到的所有示例程序都是单词计数示例,我找不到任何用于字符串匹配的示例程序。
我试着搜索一些教我如何使用java编写hadoop应用程序的教程,但是找不到。你能给我推荐一些教程,让我学习如何使用java编写hadoop应用程序吗。
提前谢谢。
我想用hadoop实现一个字符串匹配(boyer-moore)算法。我刚开始使用hadoop,所以我不知道如何用java编写hadoop程序。
到目前为止,我看到的所有示例程序都是单词计数示例,我找不到任何用于字符串匹配的示例程序。
我试着搜索一些教我如何使用java编写hadoop应用程序的教程,但是找不到。你能给我推荐一些教程,让我学习如何使用java编写hadoop应用程序吗。
提前谢谢。
2条答案
按热度按时间x6h2sr281#
我还没有测试下面的代码,但这应该让你开始。我使用了这里提供的boyermoore实现
下面的代码正在执行的操作:
目标是在输入文档中搜索模式。boyermoore类在setup方法中使用配置中设置的模式进行初始化。
Map器一次接收每一行,并使用boyermoore示例来查找模式。如果找到匹配项,我们将使用上下文编写它。
这里不需要减速器。如果在不同的Map器中多次找到该模式,则输出将具有多个偏移(每个Map器1个)。
clj7thdc2#
我不知道这是否是并行运行算法的正确实现,但这就是我发现的,
我使用的是aws(amazonwebservices),所以我可以从控制台中选择要同时运行程序的节点数。因此,我假设我使用的map和reduce方法应该足以并行运行boyer-moore字符串匹配算法。