数据集成模块中如何配置Mongo DB数据同步(2)

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: MongoDB是面向文档的NoSQL(非关系型)数据库,它的数据结构由字段(Field)和值(Value)组成,类似于JSON对象。数据集成的Mongodb输出组件提供了写入Mongodb数据库的能力。本文重点介绍如何配置Mongodb的加载策略。

作者:终古


1 组件简介

MongoDB是面向文档的NoSQL(非关系型)数据库,它的数据结构由字段(Field)和值(Value)组成,类似于JSON对象。

数据集成的MongoDB输出组件提供了写入MongoDB数据库的能力。本文重点介绍如何配置加载策略

2 组件配置介绍

41.png

如上图所以,MongoDB输入组件需要以下配置信息:数据源、表、更新信息、字段分隔符、输出字段及映射关系。

  • 数据源

数据源信息在dataphin数据源配置,配置完成后在此处可下拉框中选择

MongoDB数据库存储了表的元数据信息,选择数据源后,该表下拉框会自动列出该数据源下的表名。注意这里默认显示100条,输入表名会进行实时查询匹配

  • 更新信息

非必选项,此其时应为加载策略,需有优化文案。用来配置数据写入方式:追加与覆盖。使用的语法遵循Mongodb的标准语法。

  • 字段分隔符

特殊分隔符,当且仅当要处理的字符串要用分隔符分隔为字符数组时,才使用这个参数,通过这个参数指定的分隔符,将字符串分隔存储到MongoDB的数组中

  • 输出字段

配置表的输出字段,支持批量添加和逐个添加:

  • 批量添加:点击批量添加,输入json对象数组,每个json对象表示一个字段,json对象由字段名称及字段 类型构成,字段类型为MongoDB支持的字段类型
  • 逐个添加:点击新建输出字段,填写字段名称及字段类型

注:MongoDB是noSQL数据库,没有字段元数据,所以需要手动配置

3 组件使用

本文将重点介绍更新信息(加载策略)的配置。

3.1 追加策略

默认情况,什么都不配置即为追加策略。

当前MongoDB表已存在如下数据如下:存在id=1两条记录

42.png

  • 界面配置:加载策略为 追加模式(默认)

43.png

  • 写入数据

可以看到,再次执行写入,数据加倍

44.png

3.2 覆盖策略

这里的覆盖效果就是先删除再添加。但是如果表中已存在多条重复的字段,并不会全部覆盖,而是随机的选择一条进行覆盖,这是MongoDB的机制

注:覆盖策略将会对MongoDB产生的CPU冲击较大,严重是可导致任务超时失败

  • 更新信息:{"isReplace":"true", "replaceKey":"id"} 按id覆盖,isReplace为true则覆盖,false仍未追加
  • 配置界面:

45.png

  • 再次执行写入

可以看到,数据无变化,仍然为之前的6条

46.png

  • 修改输入数据的gmt_create=1111-11-11 11:11:11,查看覆盖情况

可以看到,覆盖并不是将已有数据全部覆盖,而是只覆盖其中一条

47.png

4 MongoDB特别注意

MongoDB每个表都有一个系统字段:_id,Object类型,由数据库维护,此字段可被覆盖,但切记不要覆盖此字段,也就是说任何写入MongoDB 表的任务都不应该显示写入 _id 字段,否则破坏该字段的类型,会导致数据集成在读取该表数据时数据切分过程报错或者读取数据不准确。因为MongoDB输入组件在进行数据切分时便是使用该字段,强依赖该字段的Object类型,一旦遇到非Object类型,轻则报错,重则数据读取不准确。


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
5月前
|
SQL 分布式计算 Oracle
数据同步工具DataX的安装
数据同步工具DataX的安装
1156 0
|
5月前
|
存储 关系型数据库 MySQL
DataX: 阿里开源的又一款高效数据同步工具
DataX 是由阿里巴巴集团开源的一款大数据同步工具,旨在解决不同数据存储之间的数据迁移、同步和实时交换的问题。它支持多种数据源和数据存储系统,包括关系型数据库、NoSQL 数据库、Hadoop 等。 DataX 提供了丰富的数据读写插件,可以轻松地将数据从一个数据源抽取出来,并将其加载到另一个数据存储中。它还提供了灵活的配置选项和高度可扩展的架构,以适应各种复杂的数据同步需求。
|
4月前
|
SQL 存储 关系型数据库
DataX - 全量数据同步工具(2)
DataX - 全量数据同步工具
|
2月前
|
关系型数据库 MySQL 大数据
DataX:数据同步的超音速英雄!阿里开源工具带你飞越数据传输的银河系,告别等待和故障的恐惧!快来见证这一数据工程的奇迹!
【8月更文挑战第13天】DataX是由阿里巴巴开源的一款专为大规模数据同步设计的工具,在数据工程领域展现强大竞争力。它采用插件化架构,支持多种数据源间的高效迁移。相较于Apache Sqoop和Flume,DataX通过并发写入和流处理实现了高性能同步,并简化了配置流程。DataX还支持故障恢复,能够在同步中断后继续执行,节省时间和资源。这些特性使其成为构建高效可靠数据同步方案的理想选择。
107 2
|
2月前
|
Java 关系型数据库 DataX
DATAX数据同步
DATAX数据同步
129 0
|
3月前
|
监控 数据挖掘 大数据
阿里云开源利器:DataX3.0——高效稳定的离线数据同步解决方案
对于需要集成多个数据源进行大数据分析的场景,DataX3.0同样提供了有力的支持。企业可以使用DataX将多个数据源的数据集成到一个统一的数据存储系统中,以便进行后续的数据分析和挖掘工作。这种集成能力有助于提升数据分析的效率和准确性,为企业决策提供有力支持。
|
3月前
|
分布式计算 关系型数据库 MySQL
MySQL超时参数优化与DataX高效数据同步实践
通过合理设置MySQL的超时参数,可以有效地提升数据库的稳定性和性能。而DataX作为一种高效的数据同步工具,可以帮助企业轻松实现不同数据源之间的数据迁移。无论是优化MySQL参数还是使用DataX进行数据同步,都需要根据具体的应用场景来进行细致的配置和测试,以达到最佳效果。
|
3月前
|
存储 NoSQL API
Redis问题之ETCD进行秒杀活动的配置数据同步如何解决
Redis问题之ETCD进行秒杀活动的配置数据同步如何解决
|
5月前
|
存储 监控 关系型数据库
DataX 概述、部署、数据同步运用示例
DataX是阿里巴巴开源的离线数据同步工具,支持多种数据源之间的高效传输。其特点是多数据源支持、可扩展性、灵活配置、高效传输、任务调度监控和活跃的开源社区支持。DataX通过Reader和Writer插件实现数据源的读取和写入,采用Framework+plugin架构。部署简单,解压即可用。示例展示了如何配置DataX同步MySQL到HDFS,并提供了速度和内存优化建议。此外,还解决了NULL值同步问题及配置文件变量传参的方法。
|
4月前
|
Java 关系型数据库 流计算
实时计算 Flink版操作报错合集之配置cats进行从MySQL到StarRocks的数据同步任务时遇到报错,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
343 0

热门文章

最新文章

下一篇
无影云桌面