/ / JAVA: SparkConf ne peut pas être converti en SparkContext - java, hadoop, apache-spark

JAVA: SparkConf ne peut pas être converti en SparkContext - java, hadoop, apache-spark

J'essaie de créer un programme simple en utilisant Spark en Java et j'obtiens cette erreur:

Erreur: (10, 57) Java: types incompatibles: org.apache.spark.SparkConf ne peut pas être converti en org.apache.spark.SparkContext

Mon code:

package com.example.lab;
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;

public class Lab {
public static void main(String[] args) {

SparkConf config = new SparkConf();
config.setMaster("local[*]").setAppName("Lab");
JavaSparkContext jsc = new JavaSparkContext(config);
}
}

J'ai un PC Windows 8.1, exécutant Java 1.8 et Spark v 2.3.0.

Pourquoi ai-je cette erreur?

Réponses:

1 pour la réponse № 1

N’utilisez pas SparkContext. Depuis Spark 2.0, vous devez utiliser SparkSession, qui implique à la fois SparkContext et SQLContext. Vous devez donc spécifier votre configuration de cette manière avec SparkSession:

SparkSession spark = SparkSession.builder()
.config(config)
.getOrCreate();

Ou encore plus simplement, vous oubliez complètement l'objet SparkConfig en spécifiant les propriétés directement avec l'objet SparkSession.Builder:

SparkSession spark = SparkSession.builder()
.master("local[*]")
.appName("Lab")
.getOrCreate();

Et bien sûr, si vous voulez vraiment un objet SparkContext, vous pouvez le faire:

sparkSession.sparkContext();

Vérifiez javadocs pour la classe SparkSession.

J'espère que ça aide! :)