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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

单词计数WordCountApp.class

發(fā)布時間:2023/12/4 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 单词计数WordCountApp.class 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
public class WordCountApp {// 可以指定目錄,目錄下如果有二級目錄的話,是不會執(zhí)行的,只會執(zhí)行一級目錄.private static final String INPUT_PATH = "hdfs://hadoop1:9000/abd";// 輸入路徑private static final String OUT_PATH = "hdfs://hadoop1:9000/out";// 輸出路徑,reduce作業(yè)輸出的結果是一個目錄// _SUCCESS:在linux中,帶下劃線的這些文件一般都是被忽略不去處理的.表示作業(yè)執(zhí)行成功.// _logs:產(chǎn)生的日志文件.// part-r-00000:產(chǎn)生的是我們的輸出的文件.開始以part開始.r:reduce輸出的結果,map輸出的結果是m,00000是序號public static void main(String[] args) {Configuration conf = new Configuration();// 配置對象try {FileSystem fileSystem = FileSystem.get(new URI(OUT_PATH), conf);fileSystem.delete(new Path(OUT_PATH), true);Job job = new Job(conf, WordCountApp.class.getSimpleName());// jobName:作業(yè)名稱job.setJarByClass(WordCountApp.class);FileInputFormat.setInputPaths(job, INPUT_PATH);// 指定數(shù)據(jù)的輸入job.setMapperClass(MyMapper.class);// 指定自定義map類job.setMapOutputKeyClass(Text.class);// 指定map輸出key的類型job.setMapOutputValueClass(LongWritable.class);// 指定map輸出value的類型job.setReducerClass(MyReducer.class);// 指定自定義Reduce類job.setOutputKeyClass(Text.class);// 設置Reduce輸出key的類型job.setOutputValueClass(LongWritable.class);// 設置Reduce輸出的value類型FileOutputFormat.setOutputPath(job, new Path(OUT_PATH));// Reduce輸出完之后,就會產(chǎn)生一個最終的輸出,指定最終輸出的位置job.waitForCompletion(true);// 提交給jobTracker并等待結束} catch (Exception e) {e.printStackTrace();}}/*** 輸入的key標示偏移量:這一行開始的字節(jié). 輸入的value:當前的行文本的內容. MapReduce執(zhí)行過程:* 在這里邊,我們的數(shù)據(jù)輸入來自于原始文件,數(shù)據(jù)輸出寫出到hdfs, 中間的一堆都是map輸出產(chǎn)生的臨時結果.存放在map運行的linux磁盤上的,* 當經(jīng)過shuffle時,reduce就會通過http把map端的對應數(shù)據(jù)給取過來.* mapred-default.xml中mapredcue.jobtracker* .root.dir,mapred.tmp.dir存儲map產(chǎn)生的結果. 作業(yè)運行時產(chǎn)生這個目錄,作業(yè)運行完之后它會刪除目錄.*/public static class MyMapper extendsMapper<LongWritable, Text, Text, LongWritable> {// 源文件有兩行記錄,解析源文件會產(chǎn)生兩個鍵值對.分別是<0,hello you>,<10,hello me>,所以map函數(shù)會被調用兩次.// 在計算機存儲的時候,是一維的結構. @Overrideprotected void map(LongWritable key, Text value, Context context)throws IOException, InterruptedException {// 為什么要把hadoop類型轉換為java類型?String line = value.toString();String[] splited = line.split("\t");// 使用hashMap寫出去的優(yōu)勢:減少鍵值對出現(xiàn)的個數(shù).Map<String, Integer> hashMap = new HashMap<String, Integer>();for (String word : splited) {// 在for循環(huán)體內,臨時變量word出現(xiàn)的此時是常量1context.write(new Text(word), new LongWritable(1));// 把每個單詞出現(xiàn)的次數(shù)1寫出去. }}}// map函數(shù)執(zhí)行結束后,map輸出的<k,v>一共有4個.<hello,1>,<you,1>,<hello,1>,<me,1>// map把數(shù)據(jù)處理完之后,就會進入reduce.// 在進入shuffle之前,數(shù)據(jù)需要先進行分區(qū).默認只有一個區(qū).// 對每個不同分區(qū)中的數(shù)據(jù)進行排序,分組.// 排序后的結果:<hello,1>,<hello,1>,<me,1>,<you,1>// 分組后的結果(相同key的value放在一個集合中):<hello,{1,1}>,<me,{1}>,<you,{1}>// 規(guī)約(可選)// map中的數(shù)據(jù)分發(fā)到reduce的過程稱作shufflepublic static class MyReducer extendsReducer<Text, LongWritable, Text, LongWritable> {// 每一組調用一次reduce函數(shù),一共調用了三次 @Overrideprotected void reduce(Text key, Iterable<LongWritable> values,Context context) throws IOException, InterruptedException {// count標示單詞key在整個文件出現(xiàn)的次數(shù)// 分組的數(shù)量與reduce函數(shù)調用次數(shù)是相等的.// reduce函數(shù)調用次數(shù)與產(chǎn)生的<k,v>的數(shù)量拋開業(yè)務,沒有任何關系!long count = 0L;for (LongWritable times : values) {count += times.get();}context.write(key, new LongWritable(count));}} }

?

轉載于:https://www.cnblogs.com/xiaolong1032/p/4443148.html

總結

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

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

主站蜘蛛池模板: 欧美午夜精品久久久 | 欧美a√在线 | 黄色免费在线视频 | 三女同志亚洲人狂欢 | www.久久伊人 | 午夜av大片 | 天天干天天爽天天操 | 九九色九九 | 中文字幕免费高清视频 | 欧美激情精品久久久久久免费 | 日本三级大全 | 成人综合区 | 91涩漫成人官网入口 | 色吊丝一区二区 | 亚洲区一区二区三区 | 国产午夜无码精品免费看奶水 | 日本一区二区三区四区在线观看 | 少妇第一次交换又紧又爽 | 国产无遮挡免费观看视频网站 | 人妖ts福利视频一二三区 | 一区二区男女 | 三级av片 | 黑人巨大精品欧美一区二区蜜桃 | 女大学生的家政保姆初体验 | 国产在线一区二区三区四区 | 亚洲成年人免费观看 | 偷拍一区二区三区 | 国产又粗又黄又爽又硬的视频 | 国产精品视频免费观看 | 女人和拘做爰正片视频 | 男女日皮视频 | 成人一区二区av | 91久久久久久久久久久久 | 日韩三级在线 | 亚洲av成人一区二区国产精品 | 国产一国产二国产三 | 看片国产 | eeuss鲁片一区二区三区在线观看 | 日韩精品在线观看中文字幕 | 日产精品一区 | 日韩激情第一页 | 国产无遮挡a片又黄又爽 | 特黄aaaaaaaaa真人毛片 | 亚洲片国产一区一级在线观看 | 成年人视频在线播放 | 国产真实老熟女无套内射 | www.黄色小说.com | 影音av资源 | 国产午夜视频在线播放 | 91亚洲高清 | 无码人妻精品丰满熟人区 | 一区二区三区四区五区av | 亚洲女人久久久 | 污片在线看 | 后入内射无码人妻一区 | 久久精品影视 | 高清精品xnxxcom | 黄黄的网站 | 亚洲国产精品狼友在线观看 | 精品国精品国产自在久不卡 | 天天干天天操天天射 | av基地网| 日日狠狠久久偷偷四色综合免费 | 美女的胸给男人玩视频 | 中文字幕在线播放一区二区 | wwwwxxx日本 | 欧美一级夜夜爽 | 扒开女人屁股进去 | 精品国产乱码久久久久久88av | 男人的天堂在线视频 | 一级黄色片免费在线观看 | 精品国产午夜福利 | 婷婷亚洲综合五月天小说 | 在线超碰| 久久婷婷影视 | 国产中文字幕在线播放 | 影音先锋色小姐 | 国产又黄又粗又猛又爽 | 男女一级片 | 中国zzji女人高潮免费 | 1024亚洲天堂 | 99热一区| 成人视屏在线观看 | 国产女人水真多18毛片18精品 | 美女午夜激情 | 爱爱一区二区三区 | 日日碰狠狠添天天爽 | 午夜av福利 | 国产欧美一区二区在线 | 91中文字幕视频 | 丰满少妇麻豆av苏语棠 | 久久久久人妻一区精品色 | 手机电影在线观看 | 国语播放老妇呻吟对白 | 欧美成综合 | 日本成人网址 | 福利一二区 | 亚洲自偷自偷偷色无码中文 | 白洁av |