我正在为Spark作业编写单元测试,其中一些输出被命名为元组: pyspark.sql.Row
pyspark.sql.Row
我怎样才能保证他们的平等?
actual = get_data(df) expected = Row(total=4, unique_ids=2) self.assertEqual(actual, expected)
当我这样做时,这些值会按照我无法确定的顺序重新排列。
您的代码应该像编写的那样工作,因为根据 docs :
字段将按名称排序。
然而,另一种方法是使用 asDict() 的方法 pySpark.sql.Row 并将其作为字典进行比较:
asDict()
pySpark.sql.Row
actual = get_data(df) expected = Row(total=4, unique_ids=2) self.assertEqual(actual.asDict(), expected.asDict())