Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在hadoop map reduce编程框架中打印中间数据_Javascript_Hadoop_Collections_Mapreduce - Fatal编程技术网

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

Javascript 如何在hadoop map reduce编程框架中打印中间数据,javascript,hadoop,collections,mapreduce,Javascript,Hadoop,Collections,Mapreduce,假设我们有一个包含测试的文件: 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] 对于每个不同的字符串都是这样的…如果需要将映射器输出保存为文件,只需单独运行映射器作业即可。这可以通过删除reducer类或设置property job.setNumReduc

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

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]

对于每个不同的字符串都是这样的…

如果需要将映射器输出保存为文件,只需单独运行映射器作业即可。这可以通过删除reducer类或设置property job.setNumReduceTasks(0)来完成。 如果您的需求是打印映射器输出,那么只需执行System.out.println(key,value)

如果您需要打印减速机输入,我指的是键,列表[值]。您可以在reduce方法中执行System.out.println

要打印所有中间值,可以在映射器类、分区器类和还原器类中打印语句。

输入文件: 德拉维德·班格罗尔 萨钦孟买酒店 多尼兰奇酒店 斋浦尔德拉维德酒店 多尼钦奈 塞瓦格德里酒店 甘比尔德里 加尔各答甘比尔酒店 减速机产量:德拉维德·班格罗、斋浦尔·多尼·兰奇、钦奈·甘比尔·德里、加尔各答·萨钦、孟买和德里

这可以使用Map-Reduce程序实现

映射器类:玩家名将是键,地名将是值


Reducer类:当我们遍历键(玩家名)时,我们会得到与之相关的所有值(地名)。我们只需构造包含键(玩家名)和逗号分隔值(地名)的字符串,然后从减速机输出。

我不想在屏幕上打印。我想使用output.collect()将这些数据写入HDFS输出文件(part-00000);输入文件::Dravi Banglore Sachin Mumbai Dhoni Ranchi Dravi Jaipur Dhoni Chennai Sehwag Delhi Gambhir Delhi Gambhir Calcutta我期待的::Dravi Banglore,Jaipur Dhoni Ranchi,Chennai Gambhir Delhi,Calcutta Sachin Mumbai Sehwag Delhi reducer output.public void reducer(文本键/*shiv*/,迭代器值/*[23,56,87,90778]*/,OutputCollector output,Reporter r)抛出IOException{{String s=”“;而(value.hasNext()){LongWritable i=value.next();s=s+i+”,“;}s=s.substring(0,s.length()-1);output.collect(key,new IntWritable));//错误}你能纠正这个错误吗?s=s+i+“,”-->这会给你这样的字符串23,56,87,90778。然后,如果我们执行新的Intwritable(23,56,87,90778),它将抛出一个错误,即字符串无法转换为有效整数。你能告诉我你的确切要求吗。。