我已经读到mahout是在hadoop上开发的,我们可以使用mahout,也可以不使用hadoop。说mahout算法可以在hadoop上运行是什么意思?mahout算法不是用map-reduce形式写的,对吧?你能给我举个例子解释一下吗?谢谢!
7cjasjjr1#
mahout有非分布式和分布式两个版本。有一些基本的分布式(hadoop)实现,比如基于项目的协作过滤。默认分布的限制是,如果您的评级数据的userid和item id是字母数字,那么您需要对其进行定制。如果你想实现一些自定义的算法,那么你必须编写Map器和还原器,甚至是调用它们的代码。我已经重写了org.apache.mahout.cf.taste.hadoop.item.recommenderjob来使用我的自定义Map和reduce任务。如果我错了,请大家纠正我。
sh7euo9m2#
你看过源代码了吗?这些算法被实现为map/reduce作业(不是全部,而是大部分),这就是为什么要这样做。
2条答案
按热度按时间7cjasjjr1#
mahout有非分布式和分布式两个版本。有一些基本的分布式(hadoop)实现,比如基于项目的协作过滤。默认分布的限制是,如果您的评级数据的userid和item id是字母数字,那么您需要对其进行定制。
如果你想实现一些自定义的算法,那么你必须编写Map器和还原器,甚至是调用它们的代码。
我已经重写了org.apache.mahout.cf.taste.hadoop.item.recommenderjob来使用我的自定义Map和reduce任务。
如果我错了,请大家纠正我。
sh7euo9m2#
你看过源代码了吗?这些算法被实现为map/reduce作业(不是全部,而是大部分),这就是为什么要这样做。