为什么在junit断言中具有相同字段的两个Spark数据帧纲要不相等?

问题描述

我正在做一个单元测试,我在其中检查两个Spark数据帧是否相等

Assertions.assertEquals(actualDF.schema(),expectedDF.schema());

如果我打印模式,它们看起来是一样的:

root
 |-- id: long (nullable = true)
 |-- idvalue: string (nullable = true)
 |-- seqvalue: long (nullable = true)
 |-- idconfig: string (nullable = true)
 |-- key: string (nullable = true)
 |-- value: string (nullable = true)
 |-- date: string (nullable = true)

root
 |-- id: long (nullable = true)
 |-- idvalue: string (nullable = true)
 |-- seqvalue: long (nullable = true)
 |-- idconfig: string (nullable = true)
 |-- key: string (nullable = true)
 |-- value: string (nullable = true)
 |-- date: string (nullable = true)

但是,我收到一条错误消息

org.opentest4j.AssertionFailedError: expected: org.apache.spark.sql.types.StructType@55b9ffd0<StructType(StructField(id,LongType,true),StructField(idvalue,StringType,StructField(seqvalue,StructField(idconfig,StructField(key,StructField(value,StructField(date,true))> but was: org.apache.spark.sql.types.StructType@a5f5b96<StructType(StructField(id,true))>
Expected :StructType(StructField(id,true))
Actual   :StructType(StructField(id,true))

我唯一看到的区别是第一行中的数字StructType@55b9ff0StructType@a5f5b96奇怪,从中我不知道它的含义和意义。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)