1个实战案例,手把手教学如何将Excel数据使用kettle抽取到MySQL中

1个实战案例,手把手教学如何将Excel数据使用kettle抽取到MySQL中
最新回答
战皆罪

2026-08-26 09:30:26

将Excel数据使用Kettle抽取到MySQL中的实战案例

案例背景:

公司新入职的程序员小花被项目经理安排了一项任务:将一个名为user.xls的Excel文件中的数据抽取并导入到MySQL数据库中。以下将详细讲解如何使用Kettle完成这一任务。

准备工作:

  1. 获取Excel文件:

    在指定位置找到名为user.xlsx的Excel文件(注意文件后缀为.xlsx,表示是Excel 2007及以上版本的文件)。

  2. 在MySQL中创建数据库:

    使用数据库管理工具(如DataGrip)连接到MySQL服务器。

    右键点击MySQL连接,选择“New/Schema”,在对话框中输入数据库名称(如kettle_demo),然后点击“Execute”执行创建。

  3. 在Kettle中加载MySQL驱动:

    将MySQL的JDBC驱动包(如mysql-connector-java-5.1.47.jar或mysql-connector-java-8.0.13.jar)复制到Kettle的data-integration/lib目录中。

    重启Kettle以加载新的驱动。

构建Kettle数据流图:

  1. 创建转换:

    在Kettle中,点击菜单“文件/新建/转换”,或者点击工具栏上的新建转换按钮,或者使用快捷键Ctrl + N创建一个新的转换。

  2. 添加组件:

    从左侧的核心对象中,拖入“输入/Excel输入”和“输出/表输出”两个组件到中间的工作区域。

    按住Shift键,从“Excel输入”组件拖动到“表输出”组件,连接两个组件以形成数据流。

配置Kettle数据流图中的组件:

  1. 配置Excel输入组件:

    双击“Excel输入”组件,打开配置对话框。

    选择“Excel 2007 XLSX (Apache POI)”作为表格类型。

    点击“浏览”按钮,找到并选择user.xlsx文件。

    点击“增加”按钮,将Sheet1工作簿添加到右侧的列表中。

    点击“字段”选项卡,点击“获取来自头部数据的字段...”按钮,Kettle会自动读取Excel文件的第一行作为字段名称。

    根据需要设置字段格式,如将age字段的格式设置为#,将register_date字段的格式设置为yyyy-MM-dd HH:mm:ss。

    点击“预览记录”按钮查看数据是否正确读取。

    点击“确定”按钮保存配置。

  2. 配置MySQL组件:

    双击“表输出”组件,打开配置对话框。

    点击“新建”按钮,创建新的数据库连接。

    在连接配置窗口中,输入连接名称(如mysql_kettle_demo),选择MySQL作为连接类型,并输入MySQL的连接参数(如主机名、端口号、用户名、密码和数据库名称)。

    点击“测试”按钮,确保Kettle能够正确连接到MySQL数据库。

    点击“确认”按钮保存连接配置。

    在表输出组件的配置窗口中,输入目标表名(如t_user)。

    Kettle会自动生成创建表的SQL语句,可以根据需要修改字段类型和长度。

    点击“执行”按钮,让Kettle在MySQL中创建表。

    点击“确定”按钮保存配置。

保存并启动执行Kettle转换:

  1. 保存转换:

    点击工具栏上的保存按钮,保存转换文件。

  2. 启动执行:

    点击工具栏上的播放按钮,启动执行转换。

    在执行过程中,可以观察各个组件的状态和日志信息,确保数据正确抽取和装载。

  3. 查看执行结果:

    执行成功后,各个组件上会显示绿色的对号,执行结果中会显示“转换完成!”。

    在MySQL中查看t_user表,确认数据已经正确抽取并装载到MySQL中。

确认执行结果:

  • 在DataGrip中双击t_user表,可以看到Excel中的数据已经成功抽取并装载到MySQL中。

总结:

通过以上步骤,我们成功使用Kettle将Excel文件中的数据抽取并装载到了MySQL数据库中。这个过程包括准备工作、构建数据流图、配置组件、保存并执行转换以及确认执行结果等多个步骤。希望这个实战案例能够帮助你更好地理解如何使用Kettle进行数据抽取和装载。