从没有SparkContext的列表创建JavaRDD

从没有SparkContext的列表创建JavaRDD,java,unit-testing,junit,apache-spark,Java,Unit Testing,Junit,Apache Spark,我正在围绕spark项目编写一些JUnit单元测试 我尝试测试的函数之一接受JavaRDD作为参数,我希望以编程方式创建该JavaRDD,并且从列表转换为RDD似乎是最符合逻辑的方法 建议我使用。但是,鉴于我在单元测试中这样做,我不想实例化SparkContext对象。这不是一个真正的选项,您需要使用Spark上下文来创建RDD。一种选择是在我是作者的时候使用它来创建一个spark上下文来测试使用。如果它有帮助的话,我可以扩展它来提供一个基类,该基类还提供JavaSparkContext?这不是

我正在围绕spark项目编写一些JUnit单元测试

我尝试测试的函数之一接受JavaRDD作为参数,我希望以编程方式创建该JavaRDD,并且从列表转换为RDD似乎是最符合逻辑的方法


建议我使用。但是,鉴于我在单元测试中这样做,我不想实例化SparkContext对象。

这不是一个真正的选项,您需要使用Spark上下文来创建RDD。一种选择是在我是作者的时候使用它来创建一个spark上下文来测试使用。如果它有帮助的话,我可以扩展它来提供一个基类,该基类还提供JavaSparkContext?

这不是一个真正的选项,您需要使用Spark上下文来创建RDD。一种选择是在我是作者的时候使用它来创建一个spark上下文来测试使用。如果有帮助的话,我可以扩展它来提供一个基类,它也提供JavaSparkContext?

最简单的解决方案就是在本地创建JavaSparkContext

    JavaSparkContext context = new JavaSparkContext("local[4]", "test"); 
    //test code here
    context.stop();

这样做的缺点是,如果无法创建上下文,则会导致测试失败。

最简单的解决方案就是在本地创建JavaSparkContext

    JavaSparkContext context = new JavaSparkContext("local[4]", "test"); 
    //test code here
    context.stop();

这样做的缺点是,如果无法创建上下文,则会导致测试失败。

我不认为不进行演练就可以完成测试,但可以使用local spark进行单元测试。这可能会对您有所帮助:我是spark的新手,希望访问spark来聚合cassandra数据。您能提供一些JavaStarted示例项目吗?我不认为您可以不进行演练就完成它,但您可以使用LocalSpark进行单元测试。这可能会对您有所帮助:我是spark的新手,希望访问spark来聚合cassandra数据。您能提供一些Java入门示例项目吗谢谢,如果我有多个需要测试的测试用例,我肯定能看到我自己经历并使用这个。但是因为我只需要一次测试,所以我认为开销太大了。不过,添加提供JavaSparkContext的基类肯定是有益的!多亏了这一点,如果我有多个测试用例需要测试,我肯定可以看到我自己通过并使用它。但是因为我只需要一次测试,所以我认为开销太大了。不过,添加提供JavaSparkContext的基类肯定是有益的!