【挂机锁源码】【kvm源码 pdf】【蓝牙支付源码】hadoop wordcount源码

时间:2024-12-23 04:08:26 编辑:防猪八戒系统源码 来源:jdk源码组成

1.如何使用 rdd dag 编写 word count
2.如何运行自带wordcount-Hadoop2
3.如何运行自带wordcount

hadoop wordcount源码

如何使用 rdd dag 编写 word count

       ã€€ã€€ä¸ºäº†åœ¨IDEA中编写scala,今天安装配置学习了IDEA集成开发环境。IDEA确实很优秀,学会之后,用起来很顺手。关于如何搭建scala和IDEA开发环境,请看文末的参考资料。

       ã€€ã€€ç”¨Scala和Java实现WordCount,其中Java实现的JavaWordCount是spark自带的例子($SPARK_HOME/examples/src/main/java/org/apache/spark/examples/JavaWordCount.java)

       ã€€ã€€1.环境

       ã€€ã€€OS:Red Hat Enterprise Linux Server release 6.4 (Santiago)

       ã€€ã€€Hadoop:Hadoop 2.4.1

       ã€€ã€€JDK:1.7.0_

       ã€€ã€€Spark:1.1.0

       ã€€ã€€Scala:2..2

       ã€€ã€€é›†æˆå¼€å‘环境:IntelliJ IDEA .1.3

       ã€€ã€€æ³¨æ„ï¼šéœ€è¦åœ¨å®¢æˆ·ç«¯windows环境下安装IDEA、Scala、JDK,并且为IDEA下载scala插件。

       ã€€ã€€2.Scala实现单词计数

       ã€€ã€€1 package com.hq

        2

        3 /

**

        4 * User: hadoop

        5 * Date: //

        6 * Time: :

        7 */

        8 import org.apache.spark.SparkConf

        9 import org.apache.spark.SparkContext

        import org.apache.spark.SparkContext._

       

        /

**

        * 统计字符出现次数

        */

        object WordCount {

        def main(args: Array[String]) {

        if (args.length < 1) {

        System.err.println("Usage: <file>")

        System.exit(1)

        }

       

        val conf = new SparkConf()

        val sc = new SparkContext(conf)

        val line = sc.textFile(args(0))

       

        line.flatMap(_.split(" ")).map((_,挂机锁源码 1)).reduceByKey(_+_).collect().foreach(println)

       

        sc.stop()

        }

        }

       ã€€ã€€3.Java实现单词计数

       ã€€ã€€1 package com.hq;

        2

        3 /

**

        4 * User: hadoop

        5 * Date: //

        6 * Time: :

        7 */

        8

        9 import org.apache.spark.SparkConf;

        import org.apache.spark.api.java.JavaPairRDD;

        import org.apache.spark.api.java.JavaRDD;

        import org.apache.spark.api.java.JavaSparkContext;

        import org.apache.spark.api.java.function.FlatMapFunction;

        import org.apache.spark.api.java.function.Function2;

        import org.apache.spark.api.java.function.PairFunction;

        import scala.Tuple2;

       

        import java.util.Arrays;

        import java.util.List;

        import java.util.regex.Pattern;

       

        public final class JavaWordCount {

        private static final Pattern SPACE = Pattern.compile(" ");

       

        public static void main(String[] args) throws Exception {

       

        if (args.length < 1) {

        System.err.println("Usage: JavaWordCount <file>");

        System.exit(1);

        }

       

        SparkConf sparkConf = new SparkConf().setAppName("JavaWordCount");

        JavaSparkContext ctx = new JavaSparkContext(sparkConf);

        JavaRDD<String> lines = ctx.textFile(args[0], 1);

       

        JavaRDD<String> words = lines.flatMap(new FlatMapFunction<String, String>() {

        @Override

        public Iterable<String> call(String s) {

        return Arrays.asList(SPACE.split(s));

        }

        });

       

        JavaPairRDD<String, Integer> ones = words.mapToPair(new PairFunction<String, String, Integer>() {

        @Override

        public Tuple2<String, Integer> call(String s) {

        return new Tuple2<String, Integer>(s, 1);

        }

        });

       

        JavaPairRDD<String, Integer> counts = ones.reduceByKey(new Function2<Integer, Integer, Integer>() {

        @Override

        public Integer call(Integer i1, Integer i2) {

        return i1 + i2;

        }

        });

       

        List<Tuple2<String, Integer>> output = counts.collect();

        for (Tuple2<?, ?> tuple : output) {

        System.out.println(tuple._1() + ": " + tuple._2());

        }

        ctx.stop();

        }

        }

如何运行自带wordcount-Hadoop2

       1.找到examples例子我们需要找打这个例子的位置:首先需要找到你的hadoop文件夹,然后依照下面路径:/hadoop/share/hadoop/mapreduce第二步:我们需要需要做一下运行需要的工作,比如输入输出路径,上传什么文件等。1.先在HDFS创建几个数据目录:1.hadoopfs-mkdir-p/data/wordcount2.hadoopfs-mkdir-p/output/2.目录/data/wordcount用来存放Hadoop自带的WordCount例子的数据文件,运行这个MapReduce任务的结果输出到/output/wordcount目录中。首先新建文件inputWord:1.vi/usr/inputWord新建完毕,查看内容:将本地文件上传到HDFS中:可以查看上传后的文件情况,执行如下命令:1.hadoopfs-ls/data/wordcount可以看到上传到HDFS中的文件。登录到Web控制台,访问链接可以看到任务记录情况。

如何运行自带wordcount

       ä½ å¥½ï¼Œ

       ã€€ã€€1.找到examples例子

       ã€€ã€€æˆ‘们需要找打这个例子的位置:首先需要找到你的hadoop文件夹,然后依照下面路径:

       ã€€ã€€/hadoop/share/hadoop/mapreduce会看到如下图:

       ã€€ã€€hadoop-mapreduce-examples-2.2.0.jar

       ã€€ã€€ç¬¬äºŒæ­¥ï¼š

       ã€€ã€€æˆ‘们需要需要做一下运行需要的工作,比如输入输出路径,上传什么文件等。

       ã€€ã€€1.先在HDFS创建几个数据目录:

       ã€€ã€€hadoop fs -mkdir -p /data/wordcount

       ã€€ã€€hadoop fs -mkdir -p /output/

       ã€€ã€€2.目录/data/wordcount用来存放Hadoop自带的WordCount例子的数据文件,运行这个MapReduce任务的结果输出到/output/wordcount目录中。

       ã€€ã€€é¦–先新建文件inputWord:

       ã€€ã€€vi /usr/inputWord

       ã€€ã€€æ–°å»ºå®Œæ¯•ï¼ŒæŸ¥çœ‹å†…容:

       ã€€ã€€cat /usr/inputWord

       ã€€ã€€å°†æœ¬åœ°æ–‡ä»¶ä¸Šä¼ åˆ°HDFS中:

       ã€€ã€€hadoop fs -put /usr/inputWord /data/wordcount/

       ã€€ã€€å¯ä»¥æŸ¥çœ‹ä¸Šä¼ åŽçš„文件情况,执行如下命令:

       ã€€ã€€hadoop fs -ls /data/wordcount

       ã€€ã€€å¯ä»¥çœ‹åˆ°ä¸Šä¼ åˆ°HDFS中的文件。

       ã€€ã€€é€šè¿‡å‘½ä»¤

       ã€€ã€€hadoop fs -text /data/wordcount/inputWord

       ã€€ã€€çœ‹åˆ°å¦‚下内容:

       ã€€ã€€

       ã€€ã€€ä¸‹é¢ï¼Œè¿è¡ŒWordCount例子,执行如下命令:

       ã€€ã€€hadoop jar /usr/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /data/wordcount /output/wordcount

       ã€€ã€€

       ã€€ã€€å¯ä»¥çœ‹åˆ°æŽ§åˆ¶å°è¾“出程序运行的信息

       ã€€ã€€æŸ¥çœ‹ç»“果,执行如下命令:

       ã€€ã€€hadoop fs -text /output/wordcount/part-r-

       ç»“果数据示例如下:

       ç™»å½•åˆ°Web控制台,访问链接http.//master:/可以看到任务记录情况。