kettle 多表查询大量数据同步 mysql 分页实现

版本

kettle7.0

mysql5.7

应用场景

在实际开发环境中,使用kettle同步的过程可能操作的数据非常大,几百万条,甚至上千万条。在这个过程中,如果使用kettle一次性同步数据的话,会出现内存溢出、GC未能及时释放,数据源脚本长时间无响应,在Linux下面甚至还出现:

Triggering heartbeat signal for 。。。 at every 10 seconds 这种情况的警告。

      综合上面的情况,kettle + 分页 实现数据同步是一种比较好的可选方案。

      在这种情况下使用mysql分页,建议大家放弃limit。

     下图是主要过程:


   1.设置变量:

    

2.检查字段值


3.使用javascript脚本验证


4.转换里面表输入的配置




实现kettle多表同步Oracle数据,可以使用Kettle工具中的相关组件和功能来完成。下面是一个简单的步骤: 1. 数据源配置:首先,在kettle中配置连接到Oracle数据库的数据源。通过在"数据库连接"组件中输入相关的连接信息,如主机名、端口号、用户名和密码等来建立与Oracle数据库的连接。 2. 数据抽取:在Kettle中使用"Table input"组件来抽取源表中的数据。在该组件中,选择连接到Oracle数据库的数据源,并指定要抽取的表名或查询语句。可以使用该组件的参数设置功能来进一步定义抽取数据的条件。 3. 数据转换:使用"Select values"、"Add constants"、"Replace in string"等组件来进行数据转换和处理。例如,可以将日期格式进行转换、对某些字段进行计算、添加常量字段等。这些转换步骤可以根据需要进行设置和调整。 4. 数据加载:在Kettle中使用"Table output"组件来将转换后的数据加载到目标表中。在该组件中,选择连接到Oracle数据库的目标表以及相关的字段映射。可以使用该组件的插入方式设置来选择插入新数据或更新已有数据。 5. 任务调度:在Kettle中创建一个任务调度,定义数据同步的周期和执行方式。可以设置定时触发,也可以通过外部事件触发,保证数据同步的持续性和准确性。 通过以上步骤的设置和配置,可以实现Kettle多表同步Oracle数据的功能。根据具体需求,还可以进行更复杂的数据转换和处理,来满足数据同步的要求。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值