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