开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

mongodb时间戳类型如何增量同步?

mongodb时间戳类型如何增量同步?

展开
收起
滴滴滴~ 2023-03-29 14:05:27 232 0
3 条回答
写回答
取消 提交回答
  • "设置任务依赖实现参数传递:设置节点依赖关系,调度配置都设置10分钟调度image.png 1、使用两个赋值节点定义时间戳格式的时间开始时间: 参数:day=$[yyyy-mm-dd] start_time=$[hh24:mi:ss- 1/24/60*10] 赋值语言选ODPS SQL:select UNIX_TIMESTAMP(""unknown unknown""); 结束时间: 参数:day=$[yyyy-mm-dd] end_time=$[hh24:mi:ss] 赋值语言选ODPS SQL:select UNIX_TIMESTAMP(""unknown unknown"");image.png 2、配置MongoDB同步节点添加本节点输入参数 start_time和end_time,取值自上游的两个赋值节点 image.pngMongoDB原始数据:脚本模式配置示例代码,源端create_time是double类型,存的时间戳。image.png ""query"": ""{'create_time':{'$gte':unknown,'$lt':unknown}}"", 脚本配置示例 { ""type"": ""job"", ""steps"": [ { ""stepType"": ""mongodb"", ""parameter"": { ""datasource"": ""ds1"", ""query"": ""{'create_time':{'$gte':unknown,'$lt':unknown}}"", ""column"": [ { ""name"": ""doc_id"", ""type"": ""STRING"" }, { ""name"": ""create_time"", ""type"": ""DOUBLE"" }, { ""name"": ""date_time"", ""type"": ""DATE"" } ], ""collectionName"": ""test1"" }, ""name"": ""Reader"", ""category"": ""reader"" }, { ""stepType"": ""odps"", ""parameter"": { ""partition"": """", ""truncate"": false, ""compress"": false, ""datasource"": ""odps_first"", ""column"": [ ""doc_id"", ""create_time"", ""date_time"" ], ""emptyAsNull"": false, ""table"": ""tablename"" }, ""name"": ""Writer"", ""category"": ""writer"" } ], ""version"": ""2.0"", ""order"": { ""hops"": [ { ""from"": ""Reader"", ""to"": ""Writer"" } ] }, ""setting"": { ""errorLimit"": { ""record"": """" }, ""speed"": { ""throttle"": false, ""concurrent"": 2 } }} 此答案整理自钉群“DataWorks交流群(答疑@机器人)”"

    2023-03-29 20:54:35
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    MongoDB的时间戳类型是一个内部使用的数据类型,不能直接操作和修改。如果需要进行增量同步,可以考虑在文档中添加一个记录时间戳的字段,例如:

    { "_id": ObjectId("...") "name": "John", "age":30, "update_time": ISODate("2021-01-01T00:00:00.000Z") } 在进行增量同步时,可以记录上次同步的时间戳,查询出更新时间大于上次同步时间戳的文档,将这些文档同步到目标数据库中。同时更新记录的同步时间戳为当前时间。这样可以实现增量同步的功能。

    2023-03-29 14:13:09
    赞同 展开评论 打赏
  • 发表文章、提出问题、分享经验、结交志同道合的朋友

    你好,当MongoDB存储的增量字段为时间戳,可以通过赋值节点将时间类型字段通过引擎函数转换为时间戳,再传给离线同步任务使用。

    2023-03-29 14:11:12
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载