说明
nifi版本:1.23.2(docker镜像)
需求背景
将数据库中的数据同步到另一个数据库中,要求对于新增的数据和历史有修改的数据进行增量同步
模拟数据
建表语句
源数据库和目标数据库结构要保持一致,这样可以避免后面单独转换
-- 创建测试表
CREATE TABLE `sys_user` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '姓名',
`age` int NOT NULL DEFAULT 0 COMMENT '年龄',
`gender` tinyint NOT NULL COMMENT '性别,1:男,0:女',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`modify_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
`is_deleted` tinyint NOT NULL DEFAULT '0' COMMENT '是否已删除',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='用户表';
测试数据
-- 模拟数据
INSERT INTO sys_user (name, age, gender) VALUES ('测试数据1', 20, 1);
INSERT INTO sys_user (name, age, gender) VALUES ('测试数据2', 21, 1);
INSERT INTO sys_user (name, age, gender) VALUES ('测试数据3', 21, 0);
INSERT INTO sys_user (name, age, gender) VALUES ('测试数据4', 18, 0);
INSERT INTO sys_user (name, age, gender) VALUES ('测试数据5', 22, 1);
完整测试数据

配置数据库连接池
在画布空白位置鼠标右键,选择Configure

新增配置
在弹出的界面点击+号,添加新的数据库连接池配置,如果已经有了配置该步骤可以跳过

在弹出的界面筛选对应类型的连接池,我这里选择DBCPConnectionPool,然后点击ADD

本文介绍使用NIFI 1.23.2版本实现数据库数据增量同步的过程。包括模拟数据、配置数据库连接池、获取表数据、拆分数据、数据入库、连接处理器等步骤,最后启动处理器,验证源数据库新增和修改的数据能同步到目标数据库。
最低0.47元/天 解锁文章
770

被折叠的 条评论
为什么被折叠?



