【问题标题】:How do we do Spark Dataframe testing using JUnit?我们如何使用 JUnit 进行 Spark Dataframe 测试?
【发布时间】:2019-10-18 15:50:37
【问题描述】:
我们正在尝试使用 JUnit 构建集成测试套件。我们的管道(使用 Scala 在 Spark 中构建)为我们提供了 DataFrames 作为输出,我们计划将它们与使用一些配置/ JSON 输入传递的 ExpectedOutput 进行比较。我们有一些内部工具与 JUnit 集成以实现覆盖率和 CI/CD,因此我们需要一种将 JUnit 与我们的数据框比较集成的方法,但我们找不到任何此类示例。
有没有人见过这样的实现可以参考?
【问题讨论】:
标签:
scala
apache-spark
junit
integration-testing
qa
【解决方案1】:
您可以在测试中启动本地 spark 上下文。确保为整个测试运行只创建一个上下文。在每个测试中 .collect() 数据集(小样本)并将其与您的 JSON 进行比较。
这是使用@BeforeClass 设置ctx 的伪代码示例。
@BeforeClass
public void init() {
SparkConf conf = new SparkConf();
conf.setMaster("local");
conf.setAppName("junit");
ctx = new JavaSparkContext(conf);
}