SparkContext初始化
掌握如何实现SparkContext
初始化。
相关知识
- SparkConf 是
SparkContext
的构造参数,储存着Spark
相关的配置信息,且必须指定Master
(比如Local
)和AppName
(应用名称),否则会抛出异常; - SparkContext 是程序执行的入口,一个
SparkContext
代表一个Application
。
初始化过程的主要核心:
- 依据
SparkConf
创建一个Spark
执行环境SparkEnv
; - 创建并初始化
Spark UI
,方便用户监控,默认端口为4040
; - 设置
Hadoop
相关配置及Executor
环境变量; - 创建和启动
TaskScheduler
,DAGScheduler
。
初始化方式:
SparkConf conf = new SparkConf().setAppName(appName).setMaster(master)
JavaSparkContext sc=new JavaSparkContext(conf)
程序运行完后需使用sc.stop()
关闭SparkContext
。
编程要求
Master
需指定为local
模式,指定 AppName
为educoder
。
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.SparkConf;
import java.util.Arrays;
import java.util.List;
public class Edu {
public static void main(String[] args) {
/********** Begin **********/
//设置SparkConf
SparkConf conf = new SparkConf().setAppName("educoder").setMaster("local");
//初始化SparkContext
JavaSparkContext sc = new JavaSparkContext(conf);
/********** End **********/
List<String> data = Arrays.asList("hello");
JavaRDD<String> r1 = sc.parallelize(data);
System.out.print(r1.collect());
/********** Begin **********/
//关闭SparkContext
sc.stop();
/********** End **********/
}
}