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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WordCount单词计数

發布時間:2025/6/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WordCount单词计数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

課程鏈接:Hadoop大數據平臺架構與實踐--基礎篇

計算文件中出現每個單詞的頻數,輸入結果按照字母順序進行排序

Map過程(切分,中間結果:Key-Value)

Reduce過程(合并、歸約后經過Hash,所有單詞放在同一個結點)

步驟:

  • 編寫WordCount.java,包含Mapper類和Reduce類
  • 編譯WordCount.java,javac -classpath
  • 打包jar -cvf WordCount.jar classes/*
  • 作業提交 hadoop jar WordCount.jar WordCount input output
  • ?WordCount.java

    import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.input.TextInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;public class WordCount {public static class WordCountMap extendsMapper<LongWritable, Text, Text, IntWritable> {private final IntWritable one = new IntWritable(1);private Text word = new Text();public void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException {String line = value.toString();StringTokenizer token = new StringTokenizer(line);while (token.hasMoreTokens()) {word.set(token.nextToken());context.write(word, one);}}}public static class WordCountReduce extendsReducer<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));}}public static void main(String[] args) throws Exception {Configuration conf = new Configuration();Job job = new Job(conf);job.setJarByClass(WordCount.class);job.setJobName("wordcount");job.setOutputKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);job.setMapperClass(WordCountMap.class);job.setReducerClass(WordCountReduce.class);job.setInputFormatClass(TextInputFormat.class);job.setOutputFormatClass(TextOutputFormat.class);FileInputFormat.addInputPath(job, new Path(args[0]));FileOutputFormat.setOutputPath(job, new Path(args[1]));job.waitForCompletion(true);} }

    ?

    案例:利用MapReduce進行排序

    import java.io.IOException; import java.util.StringTokenizer; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Job; import org.apache.hadoop.mapreduce.Mapper; import org.apache.hadoop.mapreduce.Reducer; import org.apache.hadoop.mapreduce.Partitioner; import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; import org.apache.hadoop.util.GenericOptionsParser;public class Sort {public static class Map extendsMapper<Object, Text, IntWritable, IntWritable> {private static IntWritable data = new IntWritable();public void map(Object key, Text value, Context context)throws IOException, InterruptedException {String line = value.toString();data.set(Integer.parseInt(line));context.write(data, new IntWritable(1));}}public static class Reduce extendsReducer<IntWritable, IntWritable, IntWritable, IntWritable> {private static IntWritable linenum = new IntWritable(1);public void reduce(IntWritable key, Iterable<IntWritable> values,Context context) throws IOException, InterruptedException {for (IntWritable val : values) {context.write(linenum, key);linenum = new IntWritable(linenum.get() + 1);}}}public static class Partition extends Partitioner<IntWritable, IntWritable> {@Overridepublic int getPartition(IntWritable key, IntWritable value,int numPartitions) {int MaxNumber = 65223;int bound = MaxNumber / numPartitions + 1;int keynumber = key.get();for (int i = 0; i < numPartitions; i++) {if (keynumber < bound * i && keynumber >= bound * (i - 1))return i - 1;}return 0;}}/*** @param args*/public static void main(String[] args) throws Exception {// TODO Auto-generated method stubConfiguration conf = new Configuration();String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();if (otherArgs.length != 2) {System.err.println("Usage WordCount <int> <out>");System.exit(2);}Job job = new Job(conf, "Sort");job.setJarByClass(Sort.class);job.setMapperClass(Map.class);job.setPartitionerClass(Partition.class);job.setReducerClass(Reduce.class);job.setOutputKeyClass(IntWritable.class);job.setOutputValueClass(IntWritable.class);FileInputFormat.addInputPath(job, new Path(otherArgs[0]));FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));System.exit(job.waitForCompletion(true) ? 0 : 1);}}

    ?

    轉載于:https://www.cnblogs.com/exciting/p/9211536.html

    總結

    以上是生活随笔為你收集整理的WordCount单词计数的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 中文字幕3页| 国产高清不卡视频 | 日韩激情国产 | 大胸奶汁乳流奶水出来h | 亚洲乱码在线观看 | 一本久道久久综合 | 美女又爽又黄免费 | 熊猫电影yy8y全部免费观看 | 涩涩视频在线观看 | 成人不卡视频 | 亚洲自拍在线观看 | 午夜影院在线看 | 五月婷婷狠狠爱 | 射区导航| 国产三级做爰高清在线 | 韩国日本中文字幕 | 日本少妇激情舌吻 | 靠逼视频免费网站 | 91精品国产综合久久久密臀九色 | 天天射寡妇射 | 久久精品亚洲精品国产欧美 | 乳揉みま痴汉4在线播放 | 国产精品久久久91 | 大度亲吻原声视频在线观看 | 免费观看一区二区三区毛片 | 午夜成年视频 | 色戒电影未测减除版 | 91大神精品在线 | 久久6视频 | 日本美女上床 | 俺去日 | 国产精品成av人在线视午夜片 | 成人春色影视 | 欧美啪啪小视频 | 91精品人妻一区二区三区果冻 | 99re只有精品 | 可以免费观看的av网站 | 99久久久久久 | 欧美人妖另类 | √天堂资源地址在线官网 | 欧美精品观看 | 波多野结衣网址 | 日韩中文字幕免费观看 | 91视频色版 | 日韩av影片在线观看 | 久久久人妻无码一区二区 | 国内精品国产三级国产aⅴ久 | 大乳女喂男人吃奶视频 | 日本亚洲高清 | 尤物网站在线观看 | 亚洲精品鲁一鲁一区二区三区 | 国产一区一区 | 精品国产伦一区二区三区 | av观看国产 | 久久久久亚洲av成人毛片韩 | 色婷婷av一区二区三区之红樱桃 | 久久亚洲私人国产精品va | 四虎黄色影院 | 日本打屁股网站 | 免费性爱视频 | a级无遮挡超级高清-在线观看 | 日本性视频网站 | 国产第9页 | 永久免费成人代码 | 91网国产| 男生插女生的网站 | 免费午夜激情 | 国产精品久久久久久久免费 | 国产精品宾馆在线精品酒店 | 中文字幕在线观看网址 | 啪啪官网 | 超碰国产97 | 亚洲视频一二三区 | 插插插综合 | 一级片在线免费播放 | 91在线视频观看 | 在线观看精品视频 | 久久精品国产一区二区 | 成人免费毛片男人用品 | 精品久久免费观看 | 欧美性色网站 | 久久网免费视频 | 九九九免费 | av福利网站 | 黄色美女免费网站 | 玖玖爱av | 男女男精品视频站 | 天天干夜夜想 | 尤物在线视频 | 干欧美 | 少妇高潮一区二区三区在线 | 午夜婷婷丁香 | 蜜臀av无码一区二区三区 | 亚洲毛片av| 无码av免费毛片一区二区 | a毛片大片 | 亚洲成熟少妇 | 一级做a爰片久久毛片潮喷 天天透天天干 | 色综合综合网 |