从SparkSession获取JavaSparkContext

时间:2017-03-03 15:39:54

标签: java apache-spark

我正在使用SparkSession来运行我的spark应用程序,因为我使用了很多spark-sql功能。我想使用JavaSparkContext从列表中创建RDD。但是通过Session,我只能获得普通 SparkContext。有没有办法在这个方向上改变背景?

2 个答案:

答案 0 :(得分:25)

确定SparkContext后,您可以使用:

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

这将返回JavaSparkContext的新实例,但只要您只维护SparkContext的一个活动实例就没有问题。

答案 1 :(得分:7)

是的,你可以用这样的火花会话来做到这一点:

   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());