我尝试使用Spark in Java创建一个简单的程序,我收到了这个错误:
错误:(10,57)java:不兼容的类型:org.apache.spark.SparkConf无法转换为org.apache.spark.SparkContext
我的代码:
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);
}
}
我有一台Windows 8.1 PC,运行Java 1.8和Spark v 2.3.0。
为什么我会收到此错误?
答案 0 :(得分:1)
不要使用SparkContext。从Spark 2.0开始,您应该使用SparkSession,它涉及SparkContext和SQLContext。因此,您应该使用SparkSession以这种方式指定配置:
SparkSession spark = SparkSession.builder()
.master("local[*]")
.appName("Lab")
.getOrCreate();
甚至更简单,您完全忘记了SparkConfig对象,通过直接使用SparkSession.Builder对象指定属性:
sparkSession.sparkContext();
当然,如果你真的想要一个SparkContext对象,你可以这样做:
{{1}}
查看javadocs for the SparkSession class。
希望它有所帮助! :)