У меня проблема с производительностью при загрузке файла размером 4 МБ в таблицу кустов с помощью логики Upsert (вставка и обновление записей).В рамках этой загрузки у нас есть два этапа -
Этап 1 - загрузка текстового файла размером 4 МБ в таблицу A
Этап 2 - загрузка таблицы B путем исключения source_code NOT IN ("ABC")из таблицы A, которая возвращает около 6 миллионов записей
val finalizedDf= sparkSession.sql(s"""select * from $tableA where $source_code not in ("ABC")""")
finalizedDf.write.format("parquet").mode("Overwrite").insertInto(tableB)
При вставке в таблицу B задание не выполняется из-за того, что лимит памяти превышает накладные расходы исполнителя.Также нагрузка длится более 5 часов.Пожалуйста, порекомендуйте советы поворота производительности для вышеуказанной ситуации:)