kettle动态传输多表所遇问题
客户切换服务器,涉及数据迁移。由于数据不是太庞大,不想用备份迁移来实现。
数据库有两种,一个是mysql , 一个是clickhouse
所遇问题:
1、mysql迁移时,字段为''的值,转换为null,于是有由不能为null的就报错了
解决办法:
C:\Users\用户名.kettle目录中找到kettle.properties,增加 KETTLE_EMPTY_STRING_DIFFERS_FROM_NULL=Y
2、有一张表六百万条记录,传输了一个多小时。
解决办法:经查需要设置连接参数
defaultFetchSize:5000
useCursorFetch : true 相当于告诉数据库,分批读取数据,每次打包5000条回来
rewriteBatchedStatements : true 插入数据的时候,批量插入
useServerPrepStmts : true 启动预编译
useCompression : true 客户端跟服务器之间的数据压缩传输
表输出,调整提交记录数量由1000改为10000
主流程
invok_trans
runtrans
setvariable
trans_table
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具