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

【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.kler.cn/a/454312.html

相关文章:

  • 可灵1.6正式上线,图生视频再创新视界
  • oracle基础:中文字段排序详解
  • OpenLinkSaas使用手册-Git工具
  • .NET平台用C#通过字节流动态操作Excel文件
  • Linux axel 下载加速命令详解
  • 数据仓库和数据湖 数据仓库和数据库
  • Springboot 整合 Duird
  • 【计算机网络安全】加密解密及其在ssh上的应用
  • 面试场景题系列:设计支付系统
  • UnoCSS 的作用与特点
  • idea配置gitee仓库
  • 讯飞语音听写WebApi(流式)【React Native版】
  • 报警推送消息升级的名厨亮灶开源了。
  • 【Django篇】--动手实践Django基础知识
  • 《Go 语言变量》
  • C语言学习笔记(1)
  • 游戏引擎学习第62天
  • Maven核心概念总结
  • Blender高效优化工作流程快捷小功能插件 Haggis Tools V1.1.5
  • jvm排查问题-实践追踪问题 与思路--堆内堆外内存泄漏排查方针
  • HarmonyOS NEXT 实战之元服务:静态案例效果---咖啡制作实况窗
  • css
  • 随时随地编码,高效算法学习工具—E时代IDE
  • PDF书籍《手写调用链监控APM系统-Java版》第10章 插件与链路的结合:SpringBoot环境插件获取应用名
  • Uniapp 微信小程序检测新版本并更新
  • 数据分析的常见问题及解决方案