You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用AWS Glue Job Bookmark基于updated_at增量读取MongoDB数据

解决AWS Glue Job Bookmark MongoDB增量加载失效问题

开启Job Bookmark全局开关

  • 先确认Glue Job的Job bookmark功能已启用:在Glue控制台的Job配置页面,找到"Job bookmark"选项,设置为Enabled。全局开关未开启时,脚本内的书签配置不会生效。

修正MongoDB连接参数结构

你当前把书签配置直接放在了connection_options根层级,对于MongoDB数据源,jobBookmarkKeys等参数需要嵌套在additional_options子字典中,调整后的代码如下:

read_mongo_options = {
    "URI": mongo_uri,
    "database": "test",
    "collection": "test",
    "username": "test",
    "password": "test",
    "additional_options": {
        "jobBookmarkKeys": ["updated_at"],
        "jobBookmarkKeysSortOrder": "asc"
    }
}

datasource0 = glueContext.create_dynamic_frame_from_options(
    connection_type="mongodb",
    connection_options=read_mongo_options,
    transformation_ctx = "datasource0"
)

验证updated_at字段有效性

  • 确保MongoDB集合中的updated_at是ISODate类型,不能是字符串或其他非有序格式,否则书签无法正确对比时间戳。
  • 确认数据更新时,updated_at字段会被同步更新,不存在空值或未更新的记录。

检查S3写入配置

  • 写入S3时建议使用默认的append模式,避免overwrite模式误删历史数据,同时确保写入逻辑没有触发全量重写:
glueContext.write_dynamic_frame.from_options(
    frame=datasource0,
    connection_type="s3",
    connection_options={"path": "s3://your-target-bucket/path/"},
    format="parquet",
    transformation_ctx="datasink0"
)

重置异常书签(测试用)

如果之前的书签记录存在异常,可在Glue控制台的Job详情页点击Reset job bookmark,重新运行Job让书签从头开始记录。


内容的提问来源于stack exchange,提问作者Saniya Pathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:17:03