У меня есть требование переместить данные из S3 в Redshift. В настоящее время я использую клей для работы. Текущее требование:
- Сравните первичный ключ записи в таблице красного смещения с входящим файлом, если совпадение найдено, закройте дату окончания старой записи (обновите ее с высокой даты до текущей даты) и вставьте новый.
- Если совпадение первичного ключа не найдено, вставьте новую запись. Реализация: Я реализовал это в Glue с помощью pyspark, выполнив следующие шаги: Созданные фреймы данных, которые будут охватывать три сценария ios:
- Если совпадение найдено, обновите дату окончания существующей записи до текущей даты.
- Вставить новую запись в таблицу Redshift, где найдено совпадение PPK
- Вставить новую запись в таблицу Redshift, где совпадение PPK не найдено
Наконец, объедините все эти три данных кадры в один и записать это в таблицу красных смещений.
При таком подходе будут присутствовать как старая запись (которая имеет высокое значение даты), так и новая запись (которая была обновлена текущим значением даты).
Есть ли способ удалить старую запись с высоким значением даты с помощью pyspark? Пожалуйста, сообщите.