【发布时间】:2017-08-04 09:14:03
【问题描述】:
我一次创建sqlContext,然后每隔一段时间访问一次。
我使用这种语法创建了sqlcontext:
class A {
static SparkConf conf = new SparkConf().setMaster("local").setAppName("SparkApp");
static JavaSparkContext sc = new JavaSparkContext(conf);
static SQLContext sqlContext = new SQLContext(sc);
public static void main(String[] args) throws InterruptedException {
Thread.sleep(86400000);
}
}
public class B {
public static void main(String[] args) {
System.out.println(A.sqlContext);
}
}
我可以在创建后从另一个文件 B 访问这个 sqlContext。
但是当我像这样使用sparkSession 创建sqlContext 时:
class A {
public static SparkConf conf = null;
public static JavaSparkContext context = null;
public static SparkListener listener = null;
public static SQLContext sqlContext = null;
public static SparkSession sparkSession = null;
public static void main(String[] args) throws InterruptedException {
conf = new SparkConf();
sparkSession = SparkSession.builder().appName("TestCsv").master("local").config(conf)
// .enableHiveSupport()
.getOrCreate();
context = new JavaSparkContext(sparkSession.sparkContext());
sqlContext = sparkSession.sqlContext();
Thread.sleep(86400000);
}
}
public class B {
public static void main(String[] args) {
System.out.println(A.sqlContext);
}
}
我可以创建sqlContext。
现在,当我尝试从另一个文件 B 访问此 sqlContext 时,它给了我 null。
【问题讨论】:
标签: java scala apache-spark apache-spark-sql