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

DataWorks中mongodb时间戳类型增量同步?

DataWorks中mongodb时间戳类型增量同步?

展开
收起
真的很搞笑 2023-10-16 20:56:58 53 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在DataWorks中,MongoDB时间戳类型数据可以通过以下步骤实现增量同步:

    1. 在DataWorks中创建一个MongoDB数据源,并连接到MongoDB数据库。
    2. 在DataWorks中创建一个MaxCompute数据源,并连接到MaxCompute服务。
    3. 在DataWorks中创建一个MongoDB同步任务,并配置任务的源端和目的端,选择需要同步的表和字段。
    4. 在任务配置中,选择“MaxCompute”作为目的端数据源,并配置目的端的表和字段。
    5. 在任务配置中,配置数据同步的规则,包括字段映射、数据类型转换等。
    6. 在任务配置中,配置时间戳类型的增量同步规则,例如按照时间戳进行增量同步,只同步时间戳发生变化的记录等。
    7. 在任务配置中,设置任务的运行模式和运行时间,开始同步任务。
    2023-10-17 16:06:31
    赞同 展开评论 打赏
  • 设置任务依赖实现参数传递:设置节点依赖关系,调度配置都设置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,取值自上游的两个赋值节点

    MongoDB原始数据:脚本模式配置示例代码,源端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-10-17 07:06:10
    赞同 展开评论 打赏
  • 在DataWorks中,实现MongoDB时间戳类型增量同步,可以使用以下方法:

    1. 在MongoDB中,创建一个名为“collection”的表,用于存储同步的数据。
    2. 在DataWorks中,选择源端为MongoDB的数据源,并创建一个数据同步任务。
    3. 在数据同步任务的配置页面中,选择“MaxCompute”作为目的端数据源,并配置数据同步的规则和映射关系。
    4. 在规则配置页面中,选择“MongoDB”作为源端数据源,并选择“collection”表作为目的端表。
    5. 在映射关系配置页面中,将MongoDB中的时间戳字段解析为MaxCompute中的表字段。例如,将MongoDB中的“时间戳字段”解析为MaxCompute中的“时间戳字段”表字段。
    6. 在规则配置页面中,选择“增量同步”模式,以实现时间戳类型数据的增量同步。
    7. 点击“保存”按钮,完成数据同步任务的创建。
    8. 在DataWorks中启动数据同步任务,将MongoDB中的时间戳类型数据增量同步到MaxCompute中的表字段中。
    2023-10-16 21:36:43
    赞同 展开评论 打赏

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

相关产品

  • 大数据开发治理平台 DataWorks
  • 相关电子书

    更多
    Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
    阿里云MongoDB云服务构建 立即下载
    饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载