美文网首页
kettle踩坑大集合

kettle踩坑大集合

作者: 毛于晏 | 来源:发表于2020-08-24 16:36 被阅读0次

    一、提高传输数据同步效率

    1.数据库连接增加以下配置

    useServerPrepStmts=false
    rewriteBatchedStatements=true
    useCompression=true
    oracle读取慢添加:
    在选项中添加defaultRowPrefetch,值设置为10000以上,具体是数据库情况而定

    图片.png

    2.使用连接池

    注意:使用连接池后, 在第一次创建连接池后不会随着该kettle任务线程结束销毁线程池, 而是与项目的生命周期保持一致, 可以使用jobMeta.clear();方法销毁连接池;
    楼主遇到的坑:同步过程中使用的线程池中的连接失效导致线程无法释放, 再次重启还是使用失效的连接, 最终只能重启项目销毁线程池

    图片.png

    二、0000-00-00 00:00:00值字段同步异常

    kettle报错信息: can not be represented as java.sql.Timestamp
    解决方案:

    zeroDateTimeBehavior=convertToNull

    图片.png

    三、跑大数据量,内存溢出

    1.kettle在同步以job为单位, job不执行完 不释放内存.

    建议: 大数据量时分批跑, 例如按照id/时间进行分片执行, 使用连接池并且java在初始化JobMeta时只初始化一次.

    相关文章

      网友评论

          本文标题:kettle踩坑大集合

          本文链接:https://www.haomeiwen.com/subject/rhmnjktx.html