重点: ETL 优化多数在于表输入和表输出。

转自: https://blog.csdn.net/qq_37124304 https://blog.csdn.net/qq_37124304/article/details/82664665

由于Kettle提高表输出写入速度太低,每秒速度三四十,实在忍受不了,参考一些资料之后进行了以下改变,我只进行了第一项的速度每秒五六千,加上其他的测试速度有达到3万多,有一分钟二十多万的记录,没测试极限,下为更改的地方:

NO.1

mysql表输出的时候出现减速的原因可能是因为网络链接的属性设置

在此处添加参数:

useServerPrepStmts=false  
rewriteBatchedStatements=true  
useCompression=true

如图:

NO.2

kettle 允许线程多开

NO.3

也可以适当的提高数据集的大小

此处未改,不同的MySQL数据库版本好似有数据传输限制会报Prepared statement contains too many placeholders,我用的是5.7的没有出现这个错误

NO.4

每次表输出的提交量

更改大小视机器的内存大小改变,

最后的

kettle还可以并发处理job

-

Kettle提高表输出写入速度(每秒万条记录)的更多相关文章

  1. kettle 的表输出 table output

    kettle的表输出: 双击后,看设置, 1,在connecttion后面,点击new里新建一个.设定各个选项值,如选择mysql类型,则配置hostname,database name,端口, 用户 ...

  2. SQL 从100万条记录中的到 成绩最高的记录

    从100万条记录中的到 成绩最高的记录 问题分析:要从一张表中找到成绩最高的记录并不难,有很多种办法,最简单的就是利用TOP 1 select top 1 * from student order b ...

  3. Spring Batch 读 10 万条记录,写到 MongoDB

    实践内容 从 MariaDB 一张表内读 10 万条记录,经处理后写到 MongoDB . 具体实现 1.新建 Spring Boot 应用,依赖如下: <!-- Web 应用 --> & ...

  4. c# NPOI 导出23万条记录耗时12秒

    先上测试代码: string connectionString = "Server=localhost;Initial Catalog=******;User ID=sa;Password= ...

  5. Mysql慢查询开启和查看 ,存储过程批量插入1000万条记录进行慢查询测试

    首先登陆进入Mysql命令行  执行sql      show variables like 'slow_query%';  结果为OFF 说明还未开启慢查询 执行sql     show varia ...

  6. Oracle使用虚拟表dual一次插入多条记录

    从一个CSV文件中读取所有的数据,并且插入到一个Oracle数据库中,并且几分钟内完成,大约有60万条.网上有人说了,你可以循环insert然后插入几千条以后Commit一次,我靠,你自己试试看!!如 ...

  7. Mysql如何快速插入100万条记录?

    1.java程序拼接insert带多个value,使一次提交多个值. 2.插入数据之前先删除索引(注意主键不能删除),然后插入数据,最后重建索引 3.可以设置手动commit,用来提高效率 4.使用批 ...

  8. 随机获取Mysql数据表的一条或多条记录

    随机获得Mysql数据表的一条或多条记录有很多方法,下面我就以users(userId,userName,password......)表(有一百多万条记录)为例,对比讲解下几个方法效率问题: sel ...

  9. 通过数组方式向Oracle大批量插入数据(10万条11秒)

    1.创建数据库Person CREATE TABLE Person( id number, name nvarchar2() , age number , sex nvarchar2() , pass ...

随机推荐

  1. 写一个操作 .ini文件的类

    class IniHelp { private string iniPath; [DllImport("kernel32")] private static extern long ...

  2. 重温CLR(十八) 运行时序列化

    序列化是将对象或对象图转换成字节流的过程,反序列化是将字节流转换回对象图的过程.在对象和字节流之间转换是很有用的机制. 1 应用程序的状态(对象图)可轻松保存到磁盘文件或数据库中,并在应用程序下次运行 ...

  3. sql server 查看连接详情

    SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN ( SELECT [DBID] FROM [Master].[dbo].[SYS ...

  4. tkinter为多个窗口设置相同的icon报错

    import threading import tkinter from PIL import Image, ImageTk def show_window(): window = tkinter.T ...

  5. Vue 拖拽组件 vuedraggable 和 vue-dragging

    一.描述 之前用 vue 写过一个在线的多二维码生成服务,体验地址:https://postbird.gitee.io/vue-online-qrcode/ 后面发现二维码多了之后有时候想要排序,需要 ...

  6. MySQL之--修改密码

    1.在Mac上安装MySQL会随机生成一个临时密码,如下: --24T02::.004376Z [Note] A temporary password is generated for root@lo ...

  7. git合并单个节点

    有两个分支 # git branch -a * branchA branchB A分支合并B分支单个节点 # git log commit 6b4f9e1e1a1e1ed3e7ca3a1f15ce1f ...

  8. 修改host指定域名指向ip,Windows脚本与Linux脚本

    修改host指定域名指向ip,Windows脚本与Linux脚本 一,Windows系统修改hosts文件 Windows系统下hosts文件位置:C:\Windows\System32\driver ...

  9. linux 重启 网络服务

    设置网路ip等后 需要重启网路服务 debian: /etc/iinit.d/networking  restart centos7: service network restart or syste ...

  10. qos-server can not bind localhost:22222, dubbo version: 2.6.0, current host: 127.0.0.1【问题解决】

    好吧,这个问题比较low,但是记录一下,以免后期遗忘. 说白了,这个问题就是端口被占用了. 问题: qos-server can not bind localhost:22222, dubbo ver ...