我需要将数据从 S3 移动到 Redshift。目前我正在使用 Glue 进行工作。当前要求:
- 将 redshift 表中记录的主键与传入文件进行比较,如果找到匹配项,则关闭旧记录的结束日期(将其从高日期更新为当前日期)并插入新记录。
- 如果未找到主键匹配,则插入新记录。实现:我使用 pyspark 在 Glue 中实现了它,步骤如下: 创建的数据框将涵盖三个场景:
- 如果找到匹配项,则将现有记录的结束日期更新为当前日期。
- 将新记录插入找到 PPK 匹配的 Redshift 表
- 将新记录插入未找到 PPK 匹配的 Redshift 表
最后,将所有这三个数据帧合并为一个并将其写入红移表。
使用这种方法,旧记录(具有高日期值)和新记录(使用当前日期值更新)都将出现。
有没有办法使用pyspark删除具有高日期值的旧记录?请指教。