当前位置: 首页 > news >正文

【NIFI】实现ORACLE->ORACLE数据同步

【NIFI】实现ORACLE->ORACLE数据同步

需求

  • 使用nifi实现 oracle->oracle 不同数据库之间的数据同步, 如果想实现 oracle->oracle技术有很多,例如使用oracle golden gate或者是kettle等,或者是使用oralce的dblink技术也能实现。当让如果使用dblink就不是数据同步了,属于数据共享了。

配置如下

在这里插入图片描述

1、QueryDatabaseTable:用于读取数据
2、ConvertAvroToJSON:读取数据转换JSON
3、ConvertJSONToSQL: 转换插入语句
4、PutSQL: 执插入语句
5、ConvertJSONToSQL: 转换更新语句
6、PutSQL: 执更新语句

1、QueryDatabaseTable 配置

在这里插入图片描述

  • Database Connection Pooling Service:数据库连接池,点击后面红色的按钮可以添加:
    在这里插入图片描述
    在这里插入图片描述

Database Connection URL:jdbc:oracle:thin:@<ip>:<port>/<db>
DatabaseDriver Class Name:oracle.jdbc.driver.OracleDriver
Database DriverLocation(s):/app/nifi-1.27.0/extensions/ojdbc6-11.2.0.4.0-atlassian-hosted.jar
Database User:<username>
Password:<password>

以上根据实际情况配置,如果存在多个jar可以只填写到文件夹;
在这里插入图片描述
点击小闪电可以启动获取是关闭连接池

  • JDBC Connection Pool:ORACLE-TEST-CA-155
  • Database Type:ORALCE
  • Table Name:application_20230210
  • Maximum-value Columns:OID

Maximum-value Columns:填写了意味着每次只比上一次同步记录值大的数据;

2、ConvertAvroToJSON 配置

在这里插入图片描述
不用做任何调整,使用默认位置

3、ConvertJSONToSQL 配置

在这里插入图片描述

  • JDBC Connection Pool:ORACLE-DEV-PO-119
  • Statement Type:INSERT
  • Table Name:APPLICATION_20230210
  • Update Keys:OID

注意避坑:Table Name 必须大写,ORACLE 默认大小写不敏感的,否则无法实现数据同,ConvertJSONToSQL 在生成sql时候去读的是oracle表的字段

4、PutSQL 配置

在这里插入图片描述

  • JDBC Connection Pool:ORACLE-DEV-PO-119

5、ConvertJSONToSQL 配置

在这里插入图片描述

  • JDBC Connection Pool:ORACLE-DEV-PO-119
  • Statement Type:UPDATE
  • Table Name:APPLICATION_20230210
  • Update Keys:OID

注意避坑:Table Name 必须大写,ORACLE 默认大小写不敏感的,否则无法实现数据同,ConvertJSONToSQL 在生成sql时候去读的是oracle表的字段

6、PutSQL 配置

在这里插入图片描述

  • JDBC Connection Pool:ORACLE-DEV-PO-119

连线配置

1、QueryDatabaseTable:用于读取数据
2、ConvertAvroToJSON:读取数据转换JSON
3、ConvertJSONToSQL: 转换插入语句
4、PutSQL: 执插入语句
5、ConvertJSONToSQL: 转换更新语句
6、PutSQL: 执更新语句

1->2 QueryDatabaseTable -> ConvertAvroToJSON

在这里插入图片描述

2->3 ConvertAvroToJSON-> ConvertJSONToSQL

在这里插入图片描述

3->4ConvertJSONToSQL -> PutSQL

在这里插入图片描述

2->5 ConvertAvroToJSON -> ConvertJSONToSQL

在这里插入图片描述

5->6ConvertJSONToSQL -> PutSQL

在这里插入图片描述
其他场景的均终止即可
在这里插入图片描述
最后节点的关系是全部终止
在这里插入图片描述

启动流程

对流程中的每个步骤进行启动
在这里插入图片描述
这样就完成了同步的配置,接下来就能去检查数据表中的数据了

http://www.lryc.cn/news/510992.html

相关文章:

  • 单例模式的写法
  • Selenium实践总结
  • Python数据可视化小项目
  • Python毕业设计选题:基于python的白酒数据推荐系统_django+hive
  • SQL-leetcode-180. 连续出现的数字
  • Unity中如何修改Sprite的渲染网格
  • 跟着 8.6k Star 的开源数据库,搞 RAG!
  • 每日一题 345. 反转字符串中的元音字母
  • Stream API 的设计融合了多个经典设计模式
  • jmeter混合场景测试,设置多业务并发比例(吞吐量控制器)
  • 直流有刷电机多环控制(PID闭环死区和积分分离)
  • vue-axios+springboot实现文件流下载
  • selenium执行js
  • 每日算法Day11【左叶子之和、找树左下角的值、路径总和】
  • 分享一下使用 AI 开发个人工具的迭代过程
  • 大型语言模型(LLMs)演化树 Large Language Models
  • 部分背包问题
  • 教师管理系统
  • Word论文交叉引用一键上标
  • 集成方案 | Docusign + 蓝凌 EKP,打造一站式合同管理平台,实现无缝协作!
  • Python大数据可视化:基于python大数据的电脑硬件推荐系统_flask+Hadoop+spider
  • 【递归与回溯深度解析:经典题解精讲(下篇)】—— Leetcode
  • Spring boot处理跨域问题
  • 每日小题打卡
  • RockyLinux介绍及初始化
  • 2024年12月青少年软件编程(C语言/C++)等级考试试卷(三级)
  • 【Leecode】Leecode刷题之路第92天之反转链表II
  • StableAnimator模型的部署:复旦微软提出可实现高质量和高保真的ID一致性人类视频生成
  • 3.阿里云flinkselectdb-py作业
  • MATLAB语言的网络编程