MapReduceTopK统计加排序

Hadoop技术内幕中指出Top K算法有两步,一是统计词频,二是找出词频最高的前K个词。在网上找了很多MapReduce的Top K案例,这些案例都只有排序功能,所以自己写了个案例。

这个案例分两个步骤,第一个是就是wordCount案例,二就是排序功能。

IntWritable count = StringTokenizer st = String word = st.nextToken().replaceAll("\"", "").replace("'", "").replace(".", "" context.write( @SuppressWarnings("unused" count ++ context.write(key, @SuppressWarnings("deprecation" Configuration conf = Job job = job.setJarByClass(WordCount. job.setMapperClass(Map. job.setReducerClass(Reduce. job.setMapOutputKeyClass(Text. job.setMapOutputValueClass(IntWritable. job.setOutputKeyClass(Text. job.setOutputValueClass(IntWritable. FileInputFormat.addInputPath(job, FileOutputFormat.setOutputPath(job, }

IntWritable outKey = Text outValue = StringTokenizer st = String element = } Reducer<IntWritable, Text, Text, IntWritable> Context context) tm.put( String path = context.getConfiguration().get("topKout" mos = Set<Entry<MyInt, String>> set = mos.write("topKMOS", @SuppressWarnings("deprecation" Path outPath = Configuration conf = conf.set("topKout" Job job = job.setJarByClass(Sort. job.setMapperClass(Map. job.setReducerClass(Reduce. job.setMapOutputKeyClass(IntWritable. job.setMapOutputValueClass(Text. job.setOutputKeyClass(Text. job.setOutputValueClass(IntWritable. MultipleOutputs.addNamedOutput(job,"topKMOS",TextOutputFormat. FileInputFormat.addInputPath(job, job.waitForCompletion( }

}

String in = "hdfs://localhost:9000/input/MaDing.text" String wordCout = "hdfs://localhost:9000/out/wordCout" String sort = "hdfs://localhost:9000/out/sort" String topK = "hdfs://localhost:9000/out/topK" }

更多相关文章
一周排行
  •      最近工作近乎疯狂的忙,可越是这个时候越是有问题出现.     我正在整理自己的文档和一些技术资料,小牛跟我抱怨的说:"这台电脑这些天怎么老是自己关机呀?很多的工作老是被迫中断."     ...
  • 一.用户配置: <H3C>system-view [H3C]super password H3C     设置用户分级密码 [H3C]undo super password     删除用户分级密码[H3 ...
  • 一.创建逻辑卷的步骤:fdisk 工具将磁盘转换为linux分区pvcreate命令将linux分区转换成物理卷(PV):vgcreate命令将创建好的物理卷处理成卷组(VG):lvcreate命令将卷组分成若干个逻 ...
  • MIME type的缩写为(Multipurpose Internet Mail Extensions)代表互联网媒体类型(Internet media type),MIME使用一个简单的字符串组成,最初是为了标识邮 ...
  • 使用NodeJS+AngularJS+MongoDB实现一个Web数据扒取-分析-展示的系统
    说到Web爬虫,Python占了半壁江山.但是Web页面不是Python的强项了,如果需要 ...
  • pfsense2.0.3 i386版本.七彩虹amd E350主板.配合一个intel四网口的网卡.网卡识别为igb0~~igb3.先安装了pfsense2.0.3, igb0作为wan网口,igb1作为lan网口. ...
  • dns服务bind使用
    正向,反向,主从,子域,转发器,安全控制.介绍:top level domain(tld) ...
  • 1 在Perl中的子程序是这样写的sub sum{        $a+$b;}$a=2;$b=3;print &sum,"\n";子程序任何时候都有返回值,在一个就是调用子程序就是&am ...
  • 7月13日,一位空姐使用iPhone 5(正在充电中)打电话时被电流击倒不幸身亡的消息引起大家关注.官方央视新闻微博原文如下"[23岁南航空姐打手机时触电身亡]今天,网友发微博称:11日晚,一即将结婚的空姐 ...
Tags