前言:
Kettle是一款国外开源的ETL工具,纯java编写,能够在Window、Linux、Unix上运行,数据抽取高效稳定。Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。本次介绍的是其中的一款产品“Spoon”,Spoon容许你经过图形界面来设计数据转换过程。html
Kattle- Spoon下载地址(绿色硬盘版解压即用):java
JDK1.8版本下载地址(注:Kattle仅支持1.8以上JDK):数据库
WINDOWS环境变量配置:工具
为何咱们要使用Kettle?
咱们在平常工做中,常常会遇到一种场景,那就是须要将一些数据批量的Insert到数据库表中,这篇文档就是基于这个操做来写的,咱们不用Kettle的话,面对这种批量插入的操做,有这么几种方法:spa
批量编写insert语句设计
直接for update,从excel里面复制粘贴到plsql中日志
第二种方法你们确定经常使用的,可是这种操做,少许的数据(2000条之内)效率还能够,一旦成千上万,甚至10w+级别的数据,期望for update有很好的表现,基本上是不可能的,基本上都会等个30分钟以上,若是DB遇上忙时,这个操做时间就更慢了。而且for update的操做,从Oracle的角度讲,至关于打开了一个事务,长时间的不关闭保持对表操做,很容易由于长事务引发锁表,咱们今天介绍的Kettle,能达到什么效果呢?那就是一次性对一张表导入10w条数据,只须要短短的25s,学会灵活使用Kettle,就能让你的效率获得不同的提高。
使用方法:
打开Kattle文件夹下Spoon.bat
点击文件-新建-转换,新建一个转换做业
页面左侧选择输入源(如EXCEL输入),用鼠标点击拖动到右侧转换区
页面左侧选择输出源(如表输处),用鼠标点击拖动到右侧转换区
点击‘表输出’图标,选择输入方向,将两个图标链接起来
双击‘EXCEL输入’,配置EXCEL输入方式
在表格类型处选择EXCEL格式
点击【浏览】选择EXCEL文件
选择好文件后,点击【增长】,该文件即出如今选中的文件中
切换到‘工做表’页面,点击【获取工做表名称】,选择数据所在SHEET页
切换到‘字段’页面,点击【获取来自头部数据的字段】,便可获取SHEET页中第一行的字段名
点击【肯定】结束EXCEL配置
双击【表输出】进入数据库表配置页面
点击【新建】进入数据库连接配置页面
在配置页面依次输入
链接名称:任意填写
主机名称:数据库IP
数据库名称:ORA配置文件中的‘SID’
端口号:数据库端口号
用户名:数据库登陆名
密码:数据库登陆密码
点击【测试】,查看数据库是否能正常链接,而后点击【肯定】,完成数据库配置
在‘目标表’处输入须要导入数据的数据库表名称,并勾选‘指定数据库字段’
切换到‘数据库字段’页面,点击【获取字段】,便可获取导入表的字段
调整表字段(数据库表)和流字段(EXCEL字段)的对应关系,而后单击【肯定】,结束配置
点击页面上箭头或者按键盘上F9键,开始导入工做配置
点击【启动】,正式开始导入
在‘执行结果’处能够看到数据导入状况,若是提示错误,能够在‘日志’页面查看错误缘由
导入成功后如图
- 10个字段的表,建议一次性导入数据在10W左右,若是一次导入数据过多,会致使软件缓存不足,导入失败