Im utilise un SparkSession
pour exécuter mon spark application parce que j'utilise beaucoup de fonctionnalités spark-sql. Je voudrais utiliser le JavaSparkContext
pour créer un RDD à partir d'une liste. Mais via la session, je ne peux obtenir qu'un ordinaireSparkContext
. Existe-t-il un moyen de transformer le contexte dans ce sens?
Après avoir déterminé le SparkContext
, vous pouvez utiliser:
SparkContext sc = ...
JavaSparkContext jsc = JavaSparkContext.fromSparkContext(sc);
Cela vous renverra la nouvelle instance de JavaSparkContext
, mais il n'y a pas de problème tant que vous conservez une seule instance active de SparkContext
.
Oui, vous pouvez le faire avec la session spark comme ceci:
val spark = SparkSession.builder()
.config(sparkConf)
.getOrCreate()
val jsc = new JavaSparkContext(spark.sparkContext)
ou en Java, ce serait:
SparkSession spark = SparkSession.builder().config(sparkConf).getOrCreate();
JavaSparkContext jsc = new JavaSparkContext(spark.sparkContext());