如何在 hadoop map reduce 编程框架中打印中间数据

How do I print intermediate data in hadoop map reduce programming framework

假设我们有一个文件包含测试::

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]

每个不同的字符串都是这样....

如果您需要将映射器输出保存为文件,您可以简单地 运行 一个单独的映射器作业。这可以通过删除减速器 class 或设置 属性 job.setNumReduceTasks(0) 来完成。 如果您的要求是打印映射器输出,您只需执行 System.out.println(key,value)。

如果您的要求是打印 reducer 输入,我指的是键,list[values]。你可以在reduce方法中做一个System.out.println。

为了打印所有的中间值,可以在Mapper class, Partitioner [=25=中做打印语句] 和 Reducer class.

输入文件:: 德拉维班格洛尔 萨钦孟买 多尼兰契 斋浦尔 金奈多尼船 新德里 甘比尔德里 甘比尔加尔各答 减速器输出:: Dravid Banglore,Jaipur Dhoni Ranchi,Chennai Gambhir Delhi,Calcutta Sachin Mumbai Sehwag Delhi

这可以使用 Map Reduce 程序来实现。

Mapper Class : 玩家名称将是键,地名将是值。

Reducer Class:当我们遍历键(玩家名)时,我们得到所有与之关联的值(地名)。我们可以构造具有键(玩家姓名)和逗号分隔值(地名)的字符串,并从 reducer 中输出。