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

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

一.软件准备

1.spark1.5.1

使用Eclipse构建Spark Java集成开发环境_第1张图片

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

2.Eclipse IDE for Java EE Developers

使用Eclipse构建Spark Java集成开发环境_第2张图片

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

二.搭建spark单机环境

1.解压缩文件

2.系统环境变量配置

1)新建SPARK_HOME。

使用Eclipse构建Spark Java集成开发环境_第3张图片

2)修改Path

使用Eclipse构建Spark Java集成开发环境_第4张图片

3)检测环境变量

使用Eclipse构建Spark Java集成开发环境_第5张图片

三.基于Spark使用Java开发WordCount

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

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

使用Eclipse构建Spark Java集成开发环境_第6张图片
使用Eclipse构建Spark Java集成开发环境_第7张图片

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集成开发环境_第8张图片

你可能感兴趣的:(使用Eclipse构建Spark Java集成开发环境)