AWS Glue作业推送S3分区数据到Redshift能否用year/month/day作书签键
关于Glue作业书签使用分区日期字段的可行性解答
结论先行
完全可行,符合你的使用场景要求
核心原因说明
- 你对作业书签的识别规则存在误解:Glue作业书签的唯一性要求,针对的是数据源的处理单元(分区/文件),而非单条数据记录。
- 当你使用分区表作为数据源时,
year、month、day三个字段组合可以唯一标识一个分区,完全满足作业书签的识别要求:作业每次运行时会自动比对书签记录的已处理分区范围,仅同步新增分区下的所有数据,不会重复处理旧分区,也不会漏同步新分区。
补充注意事项
- 只要你保证S3分区的写入是原子性的(即某一天的所有数据全部写入完成后,再对外暴露该分区/让Glue爬网程序识别到该分区),就不会出现重复或者漏同步的问题。
- 如果你后续需要支持单日多次写入的准实时同步场景,可以再加
hour级分区作为书签识别键,也可以直接使用Glue内置的$file_last_modified作为书签键,根据文件最后修改时间识别增量。
内容的提问来源于stack exchange,提问作者prathik vijaykumar
相关产品推荐
相关产品推荐

