Я вижу, что если мое условие присоединения включает предложение OR, это занимает много времени по сравнению с предложением AND. Я делаю полное соединение.
Мой модульный тест не показывает большой разницы, но при работе с большим набором данных он работает очень медленно.
df1.join(df2, expr("id1 = id2 AND amount1 = amount2"), "fullouter").cache()
Следующие выполняются в течение длительного времени, т.е. величина ~ в 10 раз медленнее
df1.join(df2, expr("id1 = id2 OR amount1 = amount2"), "fullouter").cache()
Какие-нибудь мысли?