成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

幾種方式實(shí)現(xiàn)WordCount

neroneroffy / 1501人閱讀

摘要:精簡(jiǎn)的命令一次性展示出文本內(nèi)容將文本中空格使用回車鍵替換串聯(lián)排序所有指定文件并將結(jié)果寫(xiě)到標(biāo)準(zhǔn)輸出。

精簡(jiǎn)的Shell
cat  /home/sev7e0/access.log | tr -s " " "
" | sort | uniq -c | sort -r | awk "{print $2, $1}"
#cat  命令一次性展示出文本內(nèi)容
#tr -s " " "
"  將文本中空格使用回車鍵替換
#sort   串聯(lián)排序所有指定文件并將結(jié)果寫(xiě)到標(biāo)準(zhǔn)輸出。
#uniq -c    從輸入文件或者標(biāo)準(zhǔn)輸入中篩選相鄰的匹配行并寫(xiě)入到輸出文件或標(biāo)準(zhǔn)輸出,-c 在每行前加上表示相應(yīng)行目出現(xiàn)次數(shù)的前綴編號(hào)
#sort | uniq -c     同時(shí)使用用來(lái)統(tǒng)計(jì)出現(xiàn)的次數(shù)
#sort -r    把結(jié)果逆序排列
#awk "{print $2,$1}"    將結(jié)果輸出,文本在前,計(jì)數(shù)在后
Scala
import scala.io.Source._
val file = fromFile("/home/hadoopadmin/test.txt")
val map = file.getLines().toList.flatMap(_.split(" ")).map((_,1)).groupBy(_._1)
val value = map.mapValues(_.size)
value.foreach(println(_))
反人類的MapReduce
//mapreduce方式
public static void main(String[] args) throws Exception {

    Configuration conf = new Configuration();
//        conf.set("fs.defaultFS", "hdfs://spark01:9000");
//        conf.set("yarn.resourcemanager.hostname", "spark01");

    Path out = new Path(args[1]);
    FileSystem fs = FileSystem.get(conf);

    //判斷輸出路徑是否存在,當(dāng)路徑存在時(shí)mapreduce會(huì)報(bào)錯(cuò)
    if (fs.exists(out)) {
        fs.delete(out, true);
        System.out.println("ouput is exit  will delete");
    }
    
    // 創(chuàng)建任務(wù)
    Job job = Job.getInstance(conf, "wordcountDemo");
    // 設(shè)置job的主類
    job.setJarByClass(WordCount.class); // 主類

    // 設(shè)置作業(yè)的輸入路徑
    FileInputFormat.setInputPaths(job, new Path(args[0]));

    //設(shè)置map的相關(guān)參數(shù)
    job.setMapperClass(WordCountMapper.class);
    job.setMapOutputKeyClass(Text.class);
    job.setMapOutputValueClass(LongWritable.class);
    
    //設(shè)置reduce相關(guān)參數(shù)
    job.setReducerClass(WordCountReduce.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(LongWritable.class);

    //設(shè)置作業(yè)的輸出路徑
    FileOutputFormat.setOutputPath(job, out);
    job.setNumReduceTasks(2);
    System.exit(job.waitForCompletion(true) ? 0 : 1);
}
好用的spark
//spark版wordcount
sc.textFile("/home/sev7e0/access.log").flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).foreach(println(_))

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71768.html

相關(guān)文章

  • Apache Beam學(xué)習(xí)筆記——幾種常見(jiàn)的處理類Transform

    摘要:要說(shuō)在中常見(jiàn)的函數(shù)是哪一個(gè),當(dāng)然是。是一個(gè)實(shí)現(xiàn)了接口的抽象類,其中是數(shù)據(jù)處理方法,強(qiáng)制子類必須實(shí)現(xiàn)。以上為學(xué)習(xí)一天的總結(jié),有錯(cuò)誤歡迎指正。相同的是這個(gè)方法處理的都是中的一個(gè)元素。 在閱讀本文前,可先看一下官方的WordCount代碼, 對(duì)Apache Beam有大概的了解。 要說(shuō)在Apache Beam中常見(jiàn)的函數(shù)是哪一個(gè),當(dāng)然是apply()。常見(jiàn)的寫(xiě)法如下: [Final Outp...

    Chiclaim 評(píng)論0 收藏0
  • Flink 源碼解析 —— 分析 Batch WordCount 程序的執(zhí)行過(guò)程

    摘要:批處理的程序分析博客從到學(xué)習(xí)介紹從到學(xué)習(xí)上搭建環(huán)境并構(gòu)建運(yùn)行簡(jiǎn)單程序入門從到學(xué)習(xí)配置文件詳解從到學(xué)習(xí)介紹從到學(xué)習(xí)如何自定義從到學(xué)習(xí)介紹從到學(xué)習(xí)如何自定義從到學(xué)習(xí)轉(zhuǎn)換從到學(xué)習(xí)介紹中的從到學(xué)習(xí)中的幾種詳解從到學(xué)習(xí)讀取數(shù)據(jù)寫(xiě)入到從到學(xué)習(xí)項(xiàng) 批處理的 WordCount 程序分析: https://t.zsxq.com/YJ2Zrfi 博客 1、Flink 從0到1學(xué)習(xí) —— Apache ...

    LdhAndroid 評(píng)論0 收藏0
  • 自動(dòng)化測(cè)試工具

    摘要:自己寫(xiě)一個(gè)程序來(lái)自動(dòng)生成測(cè)試數(shù)據(jù),因?yàn)槊總€(gè)個(gè)人作業(yè)的要求不一樣,自動(dòng)化框架無(wú)法對(duì)每種程序都生成測(cè)試數(shù)據(jù),目前只支持生成按規(guī)則生成隨機(jī)的字符串測(cè)試集。 作者:Grey...

    tuniutech 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<