0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 package org.apache.spark;
0019
0020 import java.io.IOException;
0021 import java.io.Serializable;
0022
0023 import org.junit.After;
0024 import org.junit.Before;
0025
0026 import org.apache.spark.api.java.JavaSparkContext;
0027 import org.apache.spark.sql.SparkSession;
0028
0029 public abstract class SharedSparkSession implements Serializable {
0030
0031 protected transient SparkSession spark;
0032 protected transient JavaSparkContext jsc;
0033
0034 @Before
0035 public void setUp() throws IOException {
0036 spark = SparkSession.builder()
0037 .master("local[2]")
0038 .appName(getClass().getSimpleName())
0039 .getOrCreate();
0040 jsc = new JavaSparkContext(spark.sparkContext());
0041 }
0042
0043 @After
0044 public void tearDown() {
0045 try {
0046 spark.stop();
0047 spark = null;
0048 } finally {
0049 SparkSession.clearDefaultSession();
0050 SparkSession.clearActiveSession();
0051 }
0052 }
0053 }