hadoop的wordcount实例代码-创新互联

可以通过一个简单的例子来说明MapReduce到底是什么:

为进贤等地区用户提供了全套网页设计制作服务,及进贤网站建设行业解决方案。主营业务为成都网站设计、成都做网站、进贤网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

  我们要统计一个大文件中的各个单词出现的次数。由于文件太大。我们把这个文件切分成如果小文件,然后安排多个人去统计。这个过程就是”Map”。然后把每个人统计的数字合并起来,这个就是“Reduce"。

  上面的例子如果在MapReduce去做呢,就需要创建一个任务job,由job把文件切分成若干独立的数据块,并分布在不同的机器节点中。然后通过分散在不同节点中的Map任务以完全并行的方式进行处理。MapReduce会对Map的输出地行收集,再将结果输出送给Reduce进行下一步的处理。

  对于一个任务的具体执行过程,会有一个名为"JobTracker"的进程负责协调MapReduce执行过程中的所有任务。若干条TaskTracker进程用来运行单独的Map任务,并随时将任务的执行情况汇报给JobTracker。如果一个TaskTracker汇报任务失败或者长时间未对本身任务进行汇报,JobTracker会启动另外一个TaskTracker重新执行单独的Map任务。

下面的具体的代码实现: 1. 编写wordcount的相关job

(1)eclipse下创建相关maven项目,依赖jar包如下(也可参照hadoop源码包下的hadoop-mapreduce-examples项目的pom配置)

  注意:要配置一个maven插件maven-jar-plugin,并指定mainClass


  
   junit
   junit
   4.11
  
  
    org.apache.hadoop
    hadoop-mapreduce-client-core
    2.5.2
  
  
    org.apache.hadoop
    hadoop-common
    2.5.2
  
 
 
 
   
     
  org.apache.maven.plugins
   maven-jar-plugin
   
    
     
      com.xxx.demo.hadoop.wordcount.WordCount
     
    
   
  
   
 

本文标题:hadoop的wordcount实例代码-创新互联
文章链接:http://ybzwz.com/article/pghhi.html