Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从SparkSession获取JavaSparkContext_Java_Apache Spark - Fatal编程技术网

从SparkSession获取JavaSparkContext

从SparkSession获取JavaSparkContext,java,apache-spark,Java,Apache Spark,我正在使用SparkSession运行spark应用程序,因为我使用了很多spark sql功能。我想使用JavaSparkContext从列表中创建RDD。但是通过会话,我只能得到一个普通的SparkContext。有没有办法在这个方向上转换上下文 确定SparkContext后,您可以使用: SparkContext sc = ... JavaSparkContext jsc = JavaSparkContext.fromSparkContext(sc); 这将返回JavaSparkCon

我正在使用
SparkSession
运行spark应用程序,因为我使用了很多spark sql功能。我想使用
JavaSparkContext
从列表中创建RDD。但是通过会话,我只能得到一个普通的
SparkContext
。有没有办法在这个方向上转换上下文

确定
SparkContext
后,您可以使用:

SparkContext sc = ...
JavaSparkContext jsc = JavaSparkContext.fromSparkContext(sc);

这将返回
JavaSparkContext
的新实例,但只要您只维护
SparkContext
的一个活动实例,就没有问题了。是的,您可以通过spark会话这样做:

   val spark = SparkSession.builder()
         .config(sparkConf)
         .getOrCreate()

    val jsc = new JavaSparkContext(spark.sparkContext)
或者在java中,它将是:

SparkSession spark = SparkSession.builder().config(sparkConf).getOrCreate();
JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());

注意:对于使用sonar的用户:S2095希望在使用new创建时关闭JavaSparkContext。只需使用
JavaSparkContext.fromSparkContext(sc)
即可