gpt4 book ai didi

scala - 如何编写 scala 单元测试来比较 spark 数据帧?

转载 作者:行者123 更新时间:2023-12-02 01:06:59 25 4
gpt4 key购买 nike

目的 - 检查 spark 生成的数据框和手动创建的数据框是否相同。

早期实现有效 -

if (da.except(ds).count() != 0 && ds.except(da).count != 0)

返回 bool 值 - true

其中da和ds分别是生成的dataframe和创建的dataframe。

这里我通过 spark-shell 运行程序。

较新的实现不起作用 -

assert (da.except(ds).count() != 0 && ds.except(da).count != 0)

返回 bool 值 - false

其中da和ds分别是生成的dataframe和创建的dataframe。

这里我改用了scalatest的assert方法,但是返回的结果没有返回true。

为什么在以前的方法有效时尝试使用新的实现?让 sbt 使用 scalatest 始终通过 sbt test 或在编译时运行测试文件。

通过 spark-shell 运行时比较 spark 数据帧的相同代码给出了正确的输出,但在 sbt 中使用 scalatest 运行时显示错误。

这两个程序实际上是相同的,但结果不同。可能是什么问题?

最佳答案

Spark Core 中存在比较数据帧的测试,示例: https://github.com/apache/spark/blob/master/sql/core/src/test/scala/org/apache/spark/sql/GeneratorFunctionSuite.scala

具有测试共享代码(SharedSQLContext 等)的库存在于中央 Maven 存储库中,您可以将它们包含在项目中,并使用“checkAnswer”方法比较数据帧。

关于scala - 如何编写 scala 单元测试来比较 spark 数据帧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47101470/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com