Я создал тест в unittest
и pyspark
.
Я запускаю процесс, который создает DataFrame
. При сравнении результатов DF с ожидаемыми результатами с использованием наборов выходные данные показывают, что наборы идентичны, но при выполнении теста наборы возвращают False при проверке.
def test_DF(self):
create_df(self.arguments)
df = self.spark.read.parquet(self.expected_path)
self.assertEqual(self.expected_results_set, set(df.collect()))
при проверке выходных данных наборы идентичны:
expected_results_set = {Row(uniID=1, data='We'),
Row(uniID=2, data='Will'),
Row(uniID=3, data='We'),
Row(uniID=4, data='Will'),
Row(uniID=5, data='Test'),
Row(uniID=6, data='You'),
Row(uniID=7, data='Test'),
Row(uniID=8, data='You')}
df_output = {Row(data='Test', uniID=5),
Row(data='Test', uniID=7),
Row(data='We', uniID=1),
Row(data='We', uniID=3),
Row(data='Will', uniID=2),
Row(data='Will', uniID=4),
Row(data='You', uniID=6),
Row(data='You', uniID=8)}
print(expected_results_set == df_output) # return true out of the test
что мне не хватает? есть ли альтернатива?