MongCDC(MongoDB Change Data Capture)是MongoDB提供的一种实时数据捕获方式,可以捕获MongoDB副本集或分片集群的变更,MongoCDC支持两种模式:全量数据模式和增量数据模式。
MongCDC增量模式可以通过指定从哪个开始时间点或者从哪个Oplog Offset开始读取增量数据,来实现只读最新的数据或者从指定时间读取的需求。具体实现方式如下:
mongocdc -m <address>:<port> -d <db> -c <collection> --timestamp <datetime>
其中,表示起始时间点,格式为YYYY-MM-DDTHH:mm:ssZ,例如2022-01-01T00:00:00Z。 这种方式可以用来读取特定时间段内的数据变更,忽略旧数据。
建议使用第二种方式,因为它可以保证只读取最新的数据,而不会触发不必要的操作和资源浪费。如果需要实现只读取特定时间段内的数据变更,请使用第一种方式,但需要注意的是,这种方式可能会读取一些过时的数据,需要根据实际需求进行考虑。
可以,尝试使用以下办法:
只读最新数据或指定时间配置 在 MongoDB CDC 连接器的配置中指定 poll.max.batch.size 和 poll.interval.ms 选项及mongodb.initial.sync.timestamp.overrid配置
{
"name": "my-mongo-source",
"connector.class": "debezium.connector.mongodb.MongoDbConnector",
"mongodb.hosts": "localhost:27017",
"mongodb.name": "mydb",
"tasks.max": "1",
"poll.max.batch.size": "100",
"poll.interval.ms": "60000"
"mongodb.initial.sync.timestamp.override": "2023-03-21T00:00:00Z"
}
}
在这个配置中,将 poll.max.batch.size 设置为 100,将 poll.interval.ms 设置为 60000(1 分钟),mongodb.initial.sync.timestamp.override 设置为一个指定时间的 ISO 格式字符串,这样连接器每分钟只会读取 100 条最新的数据。
MongoDB CDC 连接器允许从 MongoDB 读取快照数据和增量数据 https://www.jianshu.com/p/cc4a6096f3d3
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。