Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
样本测试用例,带“;JavaDatasetSuiteBase“;是否失败,spark-testing-base_2.11_Java_Apache Spark_Junit4_Apache Spark Dataset - Fatal编程技术网

样本测试用例,带“;JavaDatasetSuiteBase“;是否失败,spark-testing-base_2.11

样本测试用例,带“;JavaDatasetSuiteBase“;是否失败,spark-testing-base_2.11,java,apache-spark,junit4,apache-spark-dataset,Java,Apache Spark,Junit4,Apache Spark Dataset,我正在尝试创建一个示例测试用例,以提供所有必需的依赖项和使用spark java的junit框架 火花测试基础2.2 import org.apache.spark.sql.*; import com.holdenkarau.spark.testing.*; import org.apache.spark.SparkConf; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTr

我正在尝试创建一个示例测试用例,以提供所有必需的依赖项和使用spark java的junit框架

火花测试基础2.2

import org.apache.spark.sql.*;
import com.holdenkarau.spark.testing.*;
import org.apache.spark.SparkConf;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.catalyst.encoders.OuterScopes;

import java.io.Serializable;
import java.util.Arrays;
import java.util.List;

public class SampleJavaDatasetTest extends JavaDatasetSuiteBase implements Serializable {

    SparkSession sparkSession = SparkSession
            .builder()
            .appName("aws-crediting")    
            .config("spark.driver.allowMultipleContexts" , "true")    
            .master("local")
            .config("spark.some.config.option", "some-value")
            .getOrCreate();

    @Test
    public void testEqualDataFrameWithItSelf() {    
        OuterScopes.addOuterScope(this);    
        List<BasicMagic> list = Arrays.asList(new BasicMagic("holden", 30),
                new BasicMagic("mahmoud", 23));
        Dataset<BasicMagic> dataset = sparkSession.createDataset(list, Encoders.bean(BasicMagic.class));
        assertDatasetEquals(dataset, dataset);
   }
}
import org.apache.spark.sql.*;
导入com.holdenkarau.spark.testing.*;
导入org.apache.spark.SparkConf;
导入静态org.junit.Assert.assertFalse;
导入静态org.junit.Assert.assertTrue;
导入org.junit.Test;
导入org.apache.spark.sql.Dataset;
导入org.apache.spark.sql.catalyst.encoders.OuterScopes;
导入java.io.Serializable;
导入java.util.array;
导入java.util.List;
公共类SampleJavaDatasetTest扩展了JavaDatasetSuiteBase实现了可序列化{
SparkSession SparkSession=SparkSession
.builder()
.appName(“aws贷记”)
.config(“spark.driver.allowMultipleContexts”,“true”)
.master(“本地”)
.config(“spark.some.config.option”、“some value”)
.getOrCreate();
@试验
public void testeQualdataFrameWithOther(){
外部镜。添加外部镜(此);
列表=Arrays.asList(新的BasicMagic(“holden”,30),
新BasicMagic(“mahmoud”,23));
Dataset Dataset=sparkSession.createDataset(列表,Encoders.bean(BasicMagic.class));
assertDatasetEquals(数据集,数据集);
}
}
我得到的错误如下,但问题似乎不在于多个上下文,因为我在配置时使用它

org.apache.spark.SparkException: Only one SparkContext may be running in this JVM (see SPARK-2243). To ignore this error, set spark.driver.allowMultipleContexts = true. The currently running SparkContext was created at:
org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:901)
com.nielsen.engineering.netsight.aws.test.SampleJavaDatasetTest.<init>(SampleJavaDatasetTest.java:28)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:423)
org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217)
org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266)
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263)
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
org.apache.spark.SparkException:此JVM中只能运行一个SparkContext(请参阅spark-2243)。要忽略此错误,请将spark.driver.allowMultipleContexts设置为true。当前运行的SparkContext是在以下位置创建的:
org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:901)
com.nielsen.engineering.netsight.aws.test.samplejavadatasetest.(samplejavadatasetest.java:28)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
newInstance(Constructor.java:423)
org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217)
BlockJUnit4ClassRunner$1.runReflectCall(BlockJUnit4ClassRunner.java:266)
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263)
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

无需在junit中创建SparkSession。它已经为您创建。如果需要使用它,可以调用函数

sqlContext().sparkSession()


获取它。

类JavaSuiteTestJunit扩展JavaDatasetSuiteBase实现可序列化的{@Test public void testDatasets(){List myList=Arrays.asList(“一”、“二”、“三”、“四”、“五”);Dataset df=sqlContext().createDataset(myList,Encoders.STRING()).toDF();List myList2=Arrays.asList(“一”、“二”,“三”、“四”、“五”);数据集df2=sqlContext().createDataset(myList2,Encoders.STRING()).toDF();assertDatasetEquals(df,df2);}
实例化org.apache.spark.sql.hive.hiveSessionStateBuilder时出错您可以使用0.3.3的最新版本来查看是否有改进?关于评论,您可以编辑您的问题并添加错误的整个堆栈跟踪吗?为什么要创建新的spark会话?您不能使用
JavaDatas提供的内容吗etSuiteBase
?@Jacek Lasowski,我正在使用maven central/com.holdenkarau/spark-testing-base_2的测试基地。11@AlexandreDupriez,我已禁用sparksession创建并尝试运行,但配置单元java.lang.IllegalArgumentException失败:实例化“org.apache.spark.sql.Hive.HiveSessionStateBuilder”时出错: