假设我们有一个文件包含test::
hi how are you how is your job how is your family what is hadoop hi
mapperclass的期望输出:
hadoop[1] hi[1,1] how[1,1,1] is[1,1,1] your[1,1]
每个不同的字符串都是这样的。。。。
fjaof16o1#
输入文件::dravid banglore sachin mumbai dhoni ranchi dravid jaipur dhoni chennai sehwag delhi gambhir delhi gambhir加尔各答减速机输出::dravid banglore,jaipur dhoni ranchi,chennai gambhir delhi,加尔各答sachin mumbai sehwag delhi这可以通过使用map-reduce程序来实现。Map器类:玩家名将是键,地名将是值。reducer类:当我们遍历键(player name)时,我们得到与它相关的所有值(地名)。我们只需构造一个包含键(玩家名)和逗号分隔值(地名)的字符串,然后从reducer输出。
vsdwdz232#
如果需要将Map器输出保存为文件,只需单独运行Map器作业即可。这可以通过删除reducer类或设置propery job.setnumreducetasks(0)来完成。如果您的需求是打印Map器输出,那么只需执行system.out.println(key,value)。如果您的要求是打印减速机输入,我指的是键,列出[值]。您可以在reduce方法中执行system.out.println。为了打印所有中间值,可以在mapper类、partitioner类和reducer类中执行print语句。
2条答案
按热度按时间fjaof16o1#
输入文件::dravid banglore sachin mumbai dhoni ranchi dravid jaipur dhoni chennai sehwag delhi gambhir delhi gambhir加尔各答减速机输出::dravid banglore,jaipur dhoni ranchi,chennai gambhir delhi,加尔各答sachin mumbai sehwag delhi
这可以通过使用map-reduce程序来实现。
Map器类:玩家名将是键,地名将是值。
reducer类:当我们遍历键(player name)时,我们得到与它相关的所有值(地名)。我们只需构造一个包含键(玩家名)和逗号分隔值(地名)的字符串,然后从reducer输出。
vsdwdz232#
如果需要将Map器输出保存为文件,只需单独运行Map器作业即可。这可以通过删除reducer类或设置propery job.setnumreducetasks(0)来完成。如果您的需求是打印Map器输出,那么只需执行system.out.println(key,value)。
如果您的要求是打印减速机输入,我指的是键,列出[值]。您可以在reduce方法中执行system.out.println。
为了打印所有中间值,可以在mapper类、partitioner类和reducer类中执行print语句。