Я выполняю преобразование в приложении Apache Spark, а затем должен обновить таблицу AWS Redshift из DataFrame с помощью операции слияния:
- Чтобы избежать возможных дубликатов, мне нужно удалить существующие записи из таблицы Redshift на основании некоторого условия.
- Вставить все строки из DataFrame в таблицу Redshift.
Я могу сделать это с помощью следующего подхода Выполнение операции слияния путем замены существующих строк и сначала сохранить DataFrame в промежуточной таблице (через JDBC), а затем после завершения приложения Spark выполнить MERGE (как оно есть). описанный в упомянутой документации AWS), например, из задачи «Воздушный поток».
Мне просто интересно, является ли это наиболее оптимальным способом, или я могу сделать это слияние из самого приложения Spark без необходимости добавлять для этого дополнительную задачу Airflow?