操作步骤是:选择表格类型(引擎) -> 浏览Excel文件 -> 增加
此时,切换到工作表选项卡
可以点击获取工作表名称,然后设置读取的起始行、列
第三步选择字段选项卡
点击获取来自头部数据的字段,可以自动获取Excel表格中的字段header信息,编辑响应的字段类型、长度、精度等信息
输出
编辑好Excel输入后,此时我们编辑输出,因为我们目标是将Excel的数据导入到数据库中,因此我们的输出目标是数据库表
左侧核心对象树中选择 输出 -> 表输出
中间步骤使用Hops连接起来,表示一个数据的流转方向
双击表输出,编辑属性
在表输出的步骤中,我们需要建立目标数据库连接,然后选择目标表,最后勾选指定数据库字段
在数据库字段选项卡中,选择相应的字段映射规则
可以点击获取字段以从前一个步骤流中获取输出字段,然后编辑映射关系,保存
运行
通过以上步骤,我们即完成了这个简单的ETL过程,点击工具栏中的运行,查看结果
弹出执行对话框
我们选择本机执行,最终执行成功时,打印日志如下:
最终导入入库效果:
命令行运行转换
以上过程保存完成后,Kettle会将我们的转换生成一个文件存储在本地文件系统中,一般转换以后缀.ker结尾
此时,我们也可使用Spoon为我们提供的命令行工具Pan以执行转换,如下:
D:\Users\xiaoymin\Bin\data-integration\data-integration>Pan.bat -file=F:\kettle\practic\excel-mysql.ktr -logfile=F:\kettle\practic\log.log
DEBUG: Using JAVA_HOME
DEBUG: _PENTAHO_JAVA_HOME=C:\Program Files\Java\jdk1.8.0_111
DEBUG: _PENTAHO_JAVA=C:\Program Files\Java\jdk1.8.0_111\bin\java.exe
D:\Users\xiaoymin\Bin\data-integration\data-integration>"C:\Program Files\Java\jdk1.8.0_111\bin\java.exe" "-Xmx2048m" "-XX:MaxPermSize=1024m" "-Djava.library.path=libswt\win64" "-DKETTLE_HOME=" "-DKETTLE_REPOSITORY=" "-DKETTLE_USER=" "-DKETTLE_PASSWORD=" "-DKETTLE_PLUGIN_PACKAGES=" "-DKETTLE_LOG_SIZE_LIMIT=" "-DKETTLE_JNDI_ROOT=" -jar launcher\pentaho-application-launcher-5.4.0.1-130.jar -lib ..\libswt\win64 -main org.pentaho.di.pan.Pan -file F:\kettle\practic\excel-mysql.ktr -logfile F:\kettle\practic\log.log
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=1024m; support was removed in8.0
2019/07/16 22:34:17 - Pan - 开始运行.
2019/07/16 22:34:17 - excel-mysql - 为了转换解除补丁开始 [excel-mysql]
2019/07/16 22:34:18 - 表输出.0 - Connected to database [local] (commit=1000)
2019/07/16 22:34:24 - 外部Excel数据导入.0 - 完成处理 (I=146, O=0, R=0, W=146, U=0, E=0
2019/07/16 22:34:24 - 表输出.0 - 完成处理 (I=0, O=146, R=146, W=146, U=0, E=0
2019/07/16 22:34:24 - Pan - 完成!
2019/07/16 22:34:24 - Pan - 开始=2019/07/16 22:34:17.718, 停止=2019/07/16 22:34:24.995
2019/07/16 22:34:24 - Pan - 7 秒后处理结束.
2019/07/16 22:34:24 - excel-mysql -
2019/07/16 22:34:25 - excel-mysql - 进程 外部Excel数据导入.0 成功结束, 处理了 146 行. ( 20 行/秒)
2019/07/16 22:34:25 - excel-mysql - 进程 表输出.0 成功结束, 处理了 146 行. ( 20 行/秒)
D:\Users\xiaoymin\Bin\data-integration\data-integration>