反馈已提交

网络繁忙

MongoDB输出

  • 文档创建者:Wendy123456
  • 历史版本:5
  • 最近更新:Roxy 于 2024-06-04
  • 1. 概述

    1.1 版本

    FineDataLink 版本功能变更
    4.1.6.4定时任务支持写入 MongoDB

    1.2 应用场景

    有些用户业务系统的数据库是 MongoDB,需要通过定时任务将数仓或其他业务系统的数据输出到 MongoDB 。

    1.3 功能简介

    定时任务支持写入 MongoDB。如下图所示:

    2. 使用说明

    1)使用该功能前,需要确保数据平台已经注册了「NoSQL」功能点,注册事项详情参见:注册简介

    2)需要先创建 MongoDB数据连接

    3)可使用 to_json 函数构建 MongoDB 集合中的 json 字段。

    3. 操作步骤

    3.1 场景模拟

    本文示例:将本地表 jihe 中的数据同步到包含 array 字段类型的 MongoDB 集合中。

    示例数据(源数据):jihe.xlsx

    如下图所示:

    1711522358785174.png

    MongoDB 集合数据(info 字段为 array 类型):

    1711522435298321.png

    需要使用Spark SQL」算子,将二维表的多个字段拼成一个 json 对象数组。

    3.2 读取本地数据

    1)新建定时任务,拖入「数据转换」节点,进入「数据转换」节点。

    2)拖入DB表输入算子,读取本地数据。如下图所示:

    8.png

    3.3 处理数据

    1)拖入Spark SQL」算子,将本地数据的 date、time 字段拼成一个 json 对象数组,便于后续同步到包含 array 字段类型的 MongoDB 集合中。如下图所示:

    注:语句中表名和表字段需要点击生成;to_json、struct 函数具体介绍请参见:to_json、struct 函数

    SELECT username, concat("[",concat_ws(",",collect_list(to_json(struct(date,time)))),"]")as kaoqin
    FROM DB表输入 GROUP BY username

    11.png

    点击数据预览,如下图所示:

    12.png

    3.4 数据输出

    1)拖入MongoDB输出算子,将处理后的数据输出到 MongoDB 集合中,写入方式选择直接将数据写入目标集合即可。如下图所示:

    注:数据同步到 MongoDB 集合的数组字段时,源表字段值中需要带中括号[]

    13.png

    各设置项介绍如下表所示:

    设置项
    说明
    数据连接
    已配置过且有使用权限的 MongoDB 数据连接
    数据库选择数据连接后,备选项为对应数据连接下所有数据库
    目标集合

    已存在集合:

    选择数据库后,备选项为对应数据库下所有集合

    自动建集合:

    1)支持配置目标集合字段名称、字段类型

    2)4.1.6.1 之前版本集合名称支持包含英文、数字、下划线,4.1.6.1 及之后版本,集合名称支持包含英文、中文、数字、下划线

    3)支持配置字段的非空属性

    4)不支持配置主键字段:因为 MongoDB 集合的主键,默认为「_id」字段,不支持自定义

    5)不支持「手动建表」功能

    字段映射1)不展示字段的「主键」字段(即_id字段

    2)支持给已存在集合的「_id」字段配置映射。如下图所示:

    14.png

    写入方式

    1)写入方式支持清空目标集合,再写入数据

    2)写入方式支持直接将数据写入目标集合

    • 支持设置主键冲突策略:

    1711524291606154.png

    • 支持设置主键映射:当字段映射中有 MongoDB「_id」字段的映射,则主键默认设置「_id」的字段映射;当字段映射中没有MongoDB「_id」字段的映射,则用户可以设置其他字段为逻辑主键

    3)写入方式支持:基于标识字段,追加/更新/删除数据

    16.png

    • 逻辑删除:只对标识值为null的数据行进行逻辑删除

    • 支持设置标识字段、标

    • 支持设置主键映射:当字段映射中有MongoDB「_id」字段的映射,则主键默认设置「_id」的字段映射;当字段映射中没有MongoDB「_id」字段的映射,则用户可以设置其他字段为逻辑主键

    2)点击右上角「保存」按钮。

    3.5 效果查看

    运行后,MongoDB 集合数据如下图所示:






    附件列表


    主题: 数据开发-定时任务
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持