【发布时间】:2020-11-02 23:34:54
【问题描述】:
我需要将数据从 S3 移动到 Redshift。目前我正在使用 Glue 进行工作。 当前要求:
- 将redshift表中记录的主键与传入文件进行比较,如果发现匹配关闭旧记录的结束日期(将其从高日期更新到当前日期)并插入新记录。
- 如果未找到主键匹配,则插入新记录。 执行: 我已经使用 pyspark 在 Glue 中实现了它,步骤如下: 创建的数据框将涵盖三种场景:
- 如果找到匹配项,则将现有记录的结束日期更新为当前日期。
- 将新记录插入到找到 PPK 匹配的 Redshift 表中
- 在未找到 PPK 匹配的 Redshift 表中插入新记录
最后,将这三个数据框合并为一个,并将其写入红移表。
使用这种方法,旧记录(具有高日期值)和新记录(使用当前日期值更新)都会出现。
有没有办法使用 pyspark 删除具有高日期值的旧记录?请指教。
【问题讨论】:
标签: pyspark apache-spark-sql amazon-redshift aws-glue scd2