Реализация SCD2 в Redshift с использованием AWS GLue Pyspark - PullRequest
0 голосов
/ 13 июля 2020

У меня есть требование переместить данные из S3 в Redshift. В настоящее время я использую клей для работы. Текущее требование:

  1. Сравните первичный ключ записи в таблице красного смещения с входящим файлом, если совпадение найдено, закройте дату окончания старой записи (обновите ее с высокой даты до текущей даты) и вставьте новый.
  2. Если совпадение первичного ключа не найдено, вставьте новую запись. Реализация: Я реализовал это в Glue с помощью pyspark, выполнив следующие шаги: Созданные фреймы данных, которые будут охватывать три сценария ios:
  3. Если совпадение найдено, обновите дату окончания существующей записи до текущей даты.
  4. Вставить новую запись в таблицу Redshift, где найдено совпадение PPK
  5. Вставить новую запись в таблицу Redshift, где совпадение PPK не найдено

Наконец, объедините все эти три данных кадры в один и записать это в таблицу красных смещений.

При таком подходе будут присутствовать как старая запись (которая имеет высокое значение даты), так и новая запись (которая была обновлена ​​текущим значением даты).

Есть ли способ удалить старую запись с высоким значением даты с помощью pyspark? Пожалуйста, сообщите.

...