检查两个pyspark行是否相等

时间:2018-03-27 17:54:49

标签: python python-2.7 unit-testing pyspark pyspark-sql

我正在为Spark作业编写单元测试,并且一些输出被命名为元组:pyspark.sql.Row

我如何断言他们的平等?

actual = get_data(df)
expected = Row(total=4, unique_ids=2)
self.assertEqual(actual, expected)

当我这样做时,值会按照我无法确定的顺序重新排列。

1 个答案:

答案 0 :(得分:1)

根据{{​​3}}:

,您的代码应该按照书面形式运行
  

字段将按名称排序。

然而,另一种方法是使用pySpark.sql.Row的{​​{3}}方法并将它们作为词典进行比较:

actual = get_data(df)
expected = Row(total=4, unique_ids=2)
self.assertEqual(actual.asDict(), expected.asDict())