首页 > 解决方案 > Junit spark:什么是java中assertDataFrameEquals的等价物来比较2个数据帧

问题描述

我需要在我的单元测试中使用 java 比较 2 个数据帧,我知道在 scala 中我们有 assertDataFrameEquals 但我没有在 java 中找到等效项或如何在 junit 中比较 2 个数据帧。先感谢您

标签: javadataframeapache-sparkjunit

解决方案


assertDataFrameDataEquals 在 java 中也可以从spark-testing-base 您需要导入JavaDataFrameSuiteBase(在 Scala 中它只是DataFrameSuiteBase

import com.holdenkarau.spark.testing.JavaDataFrameSuiteBase;

Java 中的主要内容是您需要为 JavaDataFrameSuiteBase 创建一个对象以访问这些方法。所以你可以使用 assertDataFrameDataEquals 如下。这是使用 junit 和 spark-testing-base。

@Test
public void personsComputeTransformTest() {

// read personsInputDf(input) and call your function to be tested to get personsResultDf(result)

JavaDataFrameSuiteBase javaDataFrameSuiteBase = new JavaDataFrameSuiteBase();
javaDataFrameSuiteBase.assertDataFrameDataEquals(personsInputDf, personsResultDf);

}

推荐阅读