excel导入mysql bat_Kettle实战100篇 第8篇 Excel导入到Mysql数据库

本文介绍了如何使用Kettle将Excel数据导入到MySQL数据库。首先选择表格类型和Excel文件,接着设置工作表和读取范围。然后,通过获取头部数据自动获取字段并编辑字段属性。最后,配置数据库连接,选择目标表并完成字段映射,通过运行转换,成功将数据导入到数据库中。此外,还展示了如何通过Pan.bat命令行工具执行转换。
摘要由CSDN通过智能技术生成

操作步骤是:选择表格类型(引擎) -> 浏览Excel文件 -> 增加

b44fd91391dfeed365dc6f49dc5308dc.png

此时,切换到工作表选项卡

可以点击获取工作表名称,然后设置读取的起始行、列

ad3ad38a4792a826314eaae39b7a9a85.png

第三步选择字段选项卡

点击获取来自头部数据的字段,可以自动获取Excel表格中的字段header信息,编辑响应的字段类型、长度、精度等信息

c4291d41ecc3b87aa72363402478d3be.png

输出

编辑好Excel输入后,此时我们编辑输出,因为我们目标是将Excel的数据导入到数据库中,因此我们的输出目标是数据库表

左侧核心对象树中选择 输出 -> 表输出

5c3eac9016e175627b5a12a7edda863a.png

中间步骤使用Hops连接起来,表示一个数据的流转方向

双击表输出,编辑属性

fd6034c8d9f2a84e72ea58d22224ac81.png

在表输出的步骤中,我们需要建立目标数据库连接,然后选择目标表,最后勾选指定数据库字段

在数据库字段选项卡中,选择相应的字段映射规则

8857df8ad5d4e6100436832ebf4b3d13.png

可以点击获取字段以从前一个步骤流中获取输出字段,然后编辑映射关系,保存

运行

通过以上步骤,我们即完成了这个简单的ETL过程,点击工具栏中的运行,查看结果

90bbdeeed17ed29465684ad42ed321aa.png

弹出执行对话框

34567e8d9c167be038ac2c119e0b0cb8.png

我们选择本机执行,最终执行成功时,打印日志如下:

ed795af9ccca88b6fb2fbb4a8ecbb6a4.png

最终导入入库效果:

87e2432142ca17cdfe46fd478e6b70a2.png

命令行运行转换

以上过程保存完成后,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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值