- 问题
在spark2.0中,官方推荐Spark中所有功能的入口点都是SparkSession
类,对于Java开发人员来说,就不太方便从SparkSession中获取JavaSparkContext
2.0之前JavaSparkContext写法:
SparkConf sparkConf = new SparkConf().setAppName("spark").setMaster("local[*]");
JavaSparkContext sc = new JavaSparkContext(sparkConf);
2.0版本之后推荐写法:
SparkSession spark = SparkSession
.builder()
.appName("Java Spark SQL basic example")
.config("spark.some.config.option", "some-value")
.getOrCreate();
- 解决办法
SparkSession spark = SparkSession
.builder()
.appName("Java Spark SQL basic example")
.config("spark.some.config.option", "some-value")
.getOrCreate();
//从sparkContext中得到JavaSparkContext
JavaSparkContext sc = JavaSparkContext.fromSparkContext(spark.sparkContext());
//从JavaSparkContext中得到SparkContext
SparkContext sparkContext = JavaSparkContext.toSparkContext(sc);