日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop 统计单词字数的例子

發(fā)布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop 统计单词字数的例子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?hadoop 的核心還是 Map-Reduce過程和 hadoop分布式文件系統(tǒng)

?

第一步:定義Map過程

  • /**?
  • ?*?
  • ?*?Description:?
  • ?*?
  • ?*?@author?charles.wang?
  • ?*?@created?Mar?12,?2012?1:41:57?PM?
  • ?*??
  • ?*/?
  • public?class?MyMap?extends?Mapper<Object,?Text,?Text,?IntWritable>?{?
  • ?????
  • ????private?static?final?IntWritable?one?=?new?IntWritable(1);?
  • ????private?Text?word;?
  • ?????
  • ?????
  • ????public?void?map(Object?key?,Text?value,Context?context)??
  • ????????????throws?IOException,InterruptedException{?
  • ?????????
  • ????????String?line=value.toString();?
  • ????????StringTokenizer?tokenizer?=?new?StringTokenizer(line);?
  • ????????while(tokenizer.hasMoreTokens()){?
  • ????????????word?=?new?Text();?
  • ????????????word.set(tokenizer.nextToken());?
  • ????????????context.write(word,?one);?
  • ????????}?
  • ?????????
  • ????}?
  • ?
  • }?
  • 第二步: 定義 Reduce 過程

    ?

  • /**?
  • ?*?
  • ?*?Description:?
  • ?*?
  • ?*?@author?charles.wang?
  • ?*?@created?Mar?12,?2012?1:48:18?PM?
  • ?*??
  • ?*/?
  • public?class?MyReduce?extends?Reducer<Text,?IntWritable,?Text,?IntWritable>?{?
  • ?????
  • ????public?void?reduce?(Text?key,Iterable<IntWritable>?values,Context?context)?
  • ????????throws?IOException?,InterruptedException{?
  • ?????????
  • ????????int?sum=0;?
  • ????????for(IntWritable?val:?values){?
  • ????????????sum+=val.get();?
  • ????????}?
  • ?????????
  • ????????context.write(key,?new?IntWritable(sum));?
  • ????}?
  • ?
  • }?
  • ?

    編寫一個Driver 來執(zhí)行Map-Reduce過程

    ?

  • public?class?MyDriver?{?
  • ?
  • ????public?static?void?main(String?[]?args)?throws?Exception{?
  • ????????????
  • ????????Configuration?conf?=?new?Configuration();?
  • ????????conf.set("hadoop.job.ugi",?"root,root123");?
  • ?????????
  • ????????Job?job?=?new?Job(conf,"Hello,hadoop!?^_^");?
  • ?????????
  • ????????job.setJarByClass(MyDriver.class);?
  • ????????job.setMapOutputKeyClass(Text.class);?
  • ????????job.setMapOutputValueClass(IntWritable.class);?
  • ????????job.setMapperClass(MyMap.class);?
  • ????????job.setCombinerClass(MyReduce.class);?
  • ????????job.setReducerClass(MyReduce.class);?
  • ????????job.setInputFormatClass(TextInputFormat.class);?
  • ????????job.setOutputFormatClass(TextOutputFormat.class);?
  • ?????????
  • ????????FileInputFormat.setInputPaths(job,?new?Path(args[0]));?
  • ????????FileOutputFormat.setOutputPath(job,new?Path(args[1]));?
  • ?????????
  • ????????job.waitForCompletion(true);?
  • ????}?
  • }????
  • ?

    轉(zhuǎn)載于:https://blog.51cto.com/supercharles888/840723

    總結(jié)

    以上是生活随笔為你收集整理的Hadoop 统计单词字数的例子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。