提问者:小点点

从没有SparkContext的列表创建JavaRDD


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

我尝试测试的一个函数接受JavaRDD作为参数,我想以编程方式创建该JavaRDD,从List转换为RDD似乎是最合乎逻辑的方法。

如何将List转换为JavaRDD建议我使用JavaSparkContext.并行化(List)。然而,鉴于我在单元测试中这样做,我不想实例化SparkContext对象。


共2个答案

匿名用户

这不是一个真正的选择,你需要使用一个火花上下文来创建一个RDD。一种选择是使用spack-testing-base(它也在火花包上)(我是作者)来创建一个用于测试使用的火花上下文。如果它有帮助,我可以扩展它以提供一个提供JavaSparkContext的基类?

匿名用户

最直接的解决方案就是在本地创建一个JavaSparkContext。

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

这有缺点,因为如果无法创建上下文,它将导致您的测试失败。