ETL工具—Kettle数据的导入导出—Excel表到数据库

时间:2024-02-19 16:47:29

案例目的:当Excel中有几万条记录或者更多数据时,使用Kettle导入到数据库中。速度就能感到比复制粘贴快很多。

  • 这里我会演示将"data.xlsx"表中数据有15万多条记录,使用Kettle导入到oracle数据库的testuser用户下。

准备工作:1.data.xlsx表;

     2.testuser用户下要有一个与data.xlsx表结构(列数与字段类型)相同的表。

开始!!!

1.新建一个"转换",将"Excel输入"、"表输出"拖拽到新建的转换工作空间里

 "文件">"新建">"转换"打开下图,并展开左侧面板中的"输入"与"输出",将"Excel输入"与"表输出"拖拽到"转换1"工作区中。如图1所示:

图1:工作区拖拽了"Excel输入"与"表输出"效果图

 

2.设置"Excel输入"相关参数

1)、双击"转换1"工作区中的"Excel输入"的图标,打开设置窗口。

图2:填写"表类型"与"文件或目录"两行的内容

图3:点击增加后,目录就会在"选中的文件"中出现了

 

图4:我的数据在sheet1中,那就把sheet1选进列表中

 

图5:打开"字段"选项卡,点击"获取来自头部数据的字段",注意时间字段格式的正确性

 

3.设置"表输出"相关参数

1)、双击"a"工作区(我将"转换1"保存命名了a)中的"表输出"的图标,打开设置窗口。

 

图6:设置"数据库连接"的内容

图7:设置"目标模式"

图8:设置"目标表"

图9:设置本地表与数据库表的映射(也就是字段是否对应正确)

 

设置完成后点击"确定"完成设置。

4.运行,将表导入到数据库中。

图10:运行和启动

图11:检测运城结果

注:如果"步骤度量"中出现红色底纹,表示导入失败。查看日志中的提示。个人经验,最常出现的报错是,在"Excel输入"设置中,字段类型里日期型字段,被设置成了字符型。

 

结束!!!