Heim > Java > javaLernprogramm > Einführung in drei Methoden zur Implementierung von WordCount

Einführung in drei Methoden zur Implementierung von WordCount

不言
Freigeben: 2018-10-19 16:17:28
nach vorne
3809 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in drei Methoden zur Implementierung von WordCount. Freunde in Not können sich darauf beziehen.

1. Streamlined Shell

cat /home/sev7e0/access.log |. uniq -c | , $1}'
#cat-Befehl zeigt den Textinhalt auf einmal an
#tr -s ' ' 'n' Ersetzen Sie die Leerzeichen im Text mit der Eingabetaste
#sort Sortiert alle angegebenen Dateien der Reihe nach und Die Ergebnisse werden in die Standardausgabe geschrieben.
#uniq -c Filtert benachbarte übereinstimmende Zeilen aus der Eingabedatei oder Standardeingabe und schreibt sie in die Ausgabedatei oder Standardausgabe. -c fügt vor jeder Zeile eine Präfixnummer hinzu, die die Anzahl der Vorkommen der entsprechenden Zeile angibt 🎜> #sort |. uniq -c Wird gleichzeitig verwendet, um die Anzahl der Vorkommen zu zählen
#sort -r Ordnet die Ergebnisse in umgekehrter Reihenfolge an
#awk '{print $2,$1}' Gibt die Ergebnisse als Text aus Zuerst, zähle zuletzt

2. Anti-Human 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);

    //判断输出路径是否存在,当路径存在时mapreduce会报错
    if (fs.exists(out)) {
        fs.delete(out, true);
        System.out.println("ouput is exit  will delete");
    }
    
    // 创建任务
    Job job = Job.getInstance(conf, "wordcountDemo");
    // 设置job的主类
    job.setJarByClass(WordCount.class); // 主类

    // 设置作业的输入路径
    FileInputFormat.setInputPaths(job, new Path(args[0]));

    //设置map的相关参数
    job.setMapperClass(WordCountMapper.class);
    job.setMapOutputKeyClass(Text.class);
    job.setMapOutputValueClass(LongWritable.class);
    
    //设置reduce相关参数
    job.setReducerClass(WordCountReduce.class);
    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(LongWritable.class);

    //设置作业的输出路径
    FileOutputFormat.setOutputPath(job, out);
    job.setNumReduceTasks(2);
    System.exit(job.waitForCompletion(true) ? 0 : 1);
}
Nach dem Login kopieren
3

Das obige ist der detaillierte Inhalt vonEinführung in drei Methoden zur Implementierung von WordCount. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage