如何在scala中比较两个数据集?

lsmepo6l  于 2023-02-12  发布在  Scala
关注(0)|答案(2)|浏览(166)

我正在使用Scala Test为Scala应用程序创建单元测试。我将实际结果和预期结果作为数据集。当我手动验证实际数据集和预期数据集之间的数据和模式匹配时。

Actual Dataset= actual_ds
Expected Dataset = expected_ds

当我执行下面的命令时,它返回False。

assert(actual_ds.equals(expected_ds))

有谁能指出原因吗?scala中有没有其他内置函数来比较数据集?

3pvhb19x

3pvhb19x1#

使用为Spark测试设计的库spark-fast-testsspark-testing-basespark-test之一
它们非常易于使用,在它们的帮助下,可以轻松地比较两个数据集,并在输出时显示格式化消息
您可以从spark-fast-tests开始(您可以在自述文件中找到用法),如果它不适合您的需要,请检查其他测试(例如,如果您需要其他输出格式)

umuewwlo

umuewwlo2#

.equals()来自Java对象.equals,因此Assert失败是正确的。
我将开始测试两个数据集:

  1. assert actual_ds.schema == expected_ds.schema
  2. assert actual_ds.count() == expected_ds.count()
    然后检查这个问题:DataFrame equality in Apache Spark

相关问题