/ / JAVA: SparkConf nie je možné previesť na SparkContext - java, hadoop, apache-spark

JAVA: SparkConf nie je možné previesť na SparkContext - java, hadoop, apache-spark

Snažím sa vytvoriť jednoduchý program pomocou programu Spark v Jave a dostanem túto chybu:

Chyba: (10, 57) java: nekompatibilné typy: org.apache.spark.SparkConf nie je možné previesť na org.apache.spark.SparkContext

Môj kód:

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

Mám počítač so systémom Windows 8.1, na ktorom pracujem Java 1.8 a Spark v 2.3.0.

Prečo sa mi táto chyba vyskytla?

odpovede:

1 pre odpoveď č. 1

Nepoužívajte SparkContext. Od verzie Spark 2.0 by ste mali používať program SparkSession, ktorý zahŕňa SparkContext aj SQLContext. Svoju konfiguráciu by ste preto mali špecifikovať pomocou programu SparkSession:

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

Alebo ešte jednoduchšie úplne zabudnete na objekt SparkConfig zadaním vlastností priamo s objektom SparkSession.Builder:

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

A samozrejme, ak skutočne chcete objekt SparkContext, môžete to urobiť:

sparkSession.sparkContext();

Pozrite sa na stránku javadocs pre triedu SparkSession.

Dúfam, že to pomôže! :)