美文网首页程序员Java技术文章
使用Eclipse构建Spark Java集成开发环境

使用Eclipse构建Spark Java集成开发环境

作者: 听说___ | 来源:发表于2015-12-29 10:53 被阅读13879次

    此专题默认你有Java基础,对SparK已经有初步了解,并且准备学习开发spark应用。专题内容基于windows环境。

    一.软件准备

    1.spark1.5.1

    这里选择了已经为Hadoop2.4编译好的版本,为了能和Hadoop2.4更好的结合。当然有能力你可自己编译。

    2.Eclipse IDE for Java EE Developers

    根据自己的系统选择合适的版本,下载安装。

    二.搭建spark单机环境

    1.解压缩文件

    2.系统环境变量配置

    1)新建SPARK_HOME。

    2)修改Path

    3)检测环境变量

    三.基于Spark使用Java开发WordCount

    1.使用Eclipse建立Java工程,新建WordCount类。

    2.添加依赖jar包(位于SPARK_HOME/lib/下)

    3.编写WordCount类

    WordCount.java

    package chaobo.spark.examples;

    import java.util.Arrays;

    import java.util.List;

    import java.util.regex.Pattern;

    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;

    public class WordCount {

    public static void main(String[] args) {

    final Pattern SPLIT = Pattern.compile(" ");

    SparkConf conf = new SparkConf().setMaster("local[4]").setAppName("word count");

    JavaSparkContext context = new JavaSparkContext(conf);

    JavaRDDlines = context.textFile("C:\\Users\\chaobo\\Desktop\\spark.txt");

    JavaRDDwords = lines.flatMap(new FlatMapFunction() {

    @Override

    public Iterablecall(String line) throws Exception {

    return Arrays.asList(SPLIT.split(line));

    }

    });

    JavaPairRDDones = words.mapToPair(new PairFunction() {

    @Override

    public Tuple2call(String word) throws Exception {

    return new Tuple2(word, 1);

    }

    });

    JavaPairRDDcounts = ones.reduceByKey(new Function2() {

    @Override

    public Integer call(Integer arg0, Integer arg1) throws Exception {

    return arg0 + arg1;

    }

    });

    List output = counts.collect();

    for (Tuple2tuple : output) {

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

    }

    context.close();

    }

    }

    4,测试结果

    相关文章

      网友评论

        本文标题:使用Eclipse构建Spark Java集成开发环境

        本文链接:https://www.haomeiwen.com/subject/hkqihttx.html