這篇文章將為大家詳細講解有關Hadoop中如何實現計數器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創新互聯是一家集網站建設,點軍企業網站建設,點軍品牌網站建設,網站定制,點軍網站建設報價,網絡營銷,網絡優化,點軍網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。
package mapreduce; import java.io.IOException; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Counter; import org.apache.hadoop.mapreduce.Mapper; /** * KEYIN 即k1 業務上表示每一行的起始位置,又稱偏移量 * VALUEIN 即v1 業務上表示每一行的文本內容 * KEYOUT 即k2 業務上表示每一行的每個單詞 * VALUEOUT 即v2 業務上表示每一行的每個單詞出現的次數,常量1 * @author Xr * */ public class MyMapper extends Mapper<LongWritable,Text,Text,LongWritable> { /** * 解析每一行的文本,解析成每一個單詞,統計每一個單詞出現的次數 */ @Override protected void map(LongWritable key, Text value,Context context) throws IOException, InterruptedException { //計數器 Counter counter = context.getCounter("Words", "hello"); //counter.setValue("");//設置初始值 //每一行的文本內容 String string = value.toString(); if(string.contains("hello")){ int times = string.split("hello").length-1; counter.increment(times);//自動累加 } //每一行包含的單詞數組 String[] split = string.split(" "); for(String word : split){ context.write(new Text(word), new LongWritable(1)); } } }
關于“Hadoop中如何實現計數器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
分享標題:Hadoop中如何實現計數器
本文鏈接:http://m.2m8n56k.cn/article22/jdcpjc.html
成都網站建設公司_創新互聯,為您提供微信公眾號、小程序開發、靜態網站、網站導航、域名注冊、網站收錄
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯