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

 

posted @   biangj  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示