Kettle(4):excel数据抽取到mysql

news2024/9/25 13:21:07

1 准备工作

1.1 准备Excel文件

我这边直接使用上一篇导出的excel:file_user.xls

1.2 创建数据库

在mysql中创建数据库

1.3 在kettle中加载MySQL驱动 

Kettle要想连接到MySQL,必须要安装一个MySQL的驱动,就好比我们装完操作系统要安装显卡驱动一样。加载MySQL驱动只需以下两步:

  1. 将资料中的MySQLjdbc驱动包mysql-connector-java-5.1.47.jar和mysql-connector-java-8.0.13.jar导入到data-integration/lib中
  2. 重启Kettle即可

2 构建Kettle数据流图

2.1 效果图

2.2 开发步骤

(1)在Kettle中创建一个转换,从左边的核心对象中,分别拖入「输入/Excel输入」、「输出/表输出」两个组件到中间区域

(2)然后按住Shift键,在 「Excel输入」组件上点击鼠标左键,拖动到「表输出」组件上,连接两个组件,这样数据流图就构建好了

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

刚刚已经把数据流图构建好了,那么Kettle就可以将Excel文件中的数据抽取到MySQL中吗?

显然是不行的。Kettle根本不知道要将哪个Excel文件中的数据,抽取到哪个MySQL中。我们需要配置这两个组件,告诉Kettle从哪个Excel文件中抽取,以及将数据装载到哪个MySQL中。

3.1 配置Excel输入组件

1 双击Excel输入组件,会弹出一个对话框,我们可以再该对话框中配置该组件

此处要抽取的Excel文件为Excel 2007版本,所以指定表格类型为Excel 2007 XLSX

(Apache POI),随后我们需要找到要抽取的那个Excel文件,点击「浏览」按钮,找到excel文件,再点击旁边的「增加」按钮。

切记:一定要点击增加按钮哦!否则没有效果!

2 在弹出菜单中,点击「Sheet1」工作簿,并点击 「>」 按钮移动到右边

3 点击「字段」选项卡,点击「获取来自头部数据的字段...」按钮,Kettle会从Excel中读取第一行字段名称。

4 将 age 字段的格式设置为#,register_date的格式设置为 yyyy-MM-dd HH:mm:ss。

5 点击「预览记录」按钮查看抽取到的数据

6 点击确定保存

3.2 配置MySQL组件

3.2.1 创建数据库连接

要使用Kettle操作MySQL,必须要建立Kettle与MySQL的连接,否则Kettle也不知道操作哪个MySQL库。

1  双击「表输入」组件,会自动弹出配置窗口,点击「新建」按钮

2 配置MySQL连接

(1) 输入连接名称,此处用mysql_开头,数据库名称kettle_demo为结尾

(2) 在连接类型列表中,选择MySQL

(3) 输入连接方式:

(4) 输入MySQL的连接参数

注意:以下两步操作是为了防止乱码的

(5)高级添加   set names utf8;

(6)选项添加characterEncoding utf8

3 点击测试按钮,测试Kettle是否能够正确连接到MySQL

4 点击确认保存,到这里数据库连接就应该创建好了。

3.2.2 使用Kettle在MySQL中自动创建表

要保存数据到MySQL,必须先要创建好表。那么,我们是否需要自己手动在MySQL中创建一个表,用来保存Excel中抽取过来的数据呢?

答案是:不需要。Kettke可以自动为我们在MySQL中创建表。

1 输入目标表的名称为:t_user,后续Kettle将在MySQL中创建一张名为 t_user 的表格。

2 点击下方的「SQL」按钮,可以看到Kettle会自动帮助我们生成MySQL创建表的SQL语句

将age、gender字段类型设置为INT

3 点击执行按钮。Kettle将会让MySQL执行该SQL脚本。执行完后,可以在navicat中刷新在数据库,可以查看到Kettle帮助我们创建的t_user表。

4 点击「确定」按钮,保存配置

3.3 保存并启动执行Kettle转换

 

查看数据库

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CMMI之工程类

工程类过程域涵盖了工程学科所共有的开发与维护活动。工程类过程域的书写使用了通用的工程术语,这样,涉及产品开发过程(如软件工程、机械工程等)的任何技术学科都能够将其用于过程改进。工程类过程域还将不同工程学科的关联过程整…

分享111个ASP源码,总有一款适合您

ASP源码 分享111个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 111个ASP源码下载链接:https://pan.baidu.com/s/1Afx8CxZIGwcGWB6aUOssZg?pwdr81w 提取码&#x…

CPU缓存架构缓存一致性协议详解

一、CPU高速缓存(Cache Memory)1.1 CPU高速缓存CPU缓存即高速缓冲存储器,是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存,CPU直接从内存中存取数据要等待一定时间周期,Cache中保存着…

《你当像鸟飞往你的山》教育让你内心的山更高,更广

《你当像鸟飞往你的山》教育让你内心的山更高,更广 塔拉韦斯特弗,美国作家、历史学家。1986年生于美国爱达荷州的山区。自学考取杨百翰大学,2009年获得剑桥大学哲学硕士学位,2014年获剑桥大学历史学博士学位。2018年出版处女座《你…

2023 年8个ChatGPT 的替代品

OpenAI 于 2022 年 11 月下旬推出的 ChatGPT 在网络世界引起了不小的轰动。它不仅引起了社交媒体用户的关注,也引起了各大媒体的关注。 这种先进的 AI 技术不仅可以根据命令生成、重写和汇总文本,还可以与用户进行交互。它会记住以前的对话,…

[论文翻译] Improving Knowledge Tracing via Pre-training Question Embeddings

摘要 知识追踪 (KT) 定义了根据学生的历史反应预测他们是否能正确回答问题的任务。尽管许多研究致力于利用问题信息,但问题和技能中的大量高级信息尚未被很好地提取,这使得以前的工作难以充分执行。在本文中,我们证明了通过在丰富的边信息上…

通过属性配置文件编写JDBC程序

package com.bjpowernode.jdbc;import java.sql.*; import java.util.ResourceBundle; /* 编程思想:将连接数据库时可变化的4条信息都写到配置文件中,以后需要连接其他数据库的时候,可直接修改配置文件,不用修改java程序。这4个信…

【LeetCode高频100题-3】冲冲冲(持续更新23.1.22)

文章目录62. 不同路径题意解法1 排列组合解法2 动态规划64. 最小路径和题意解法1 DFS(剪枝也超时)解法2 动态规划62. 不同路径 题意 一道数学题,排列组合/小学奥赛题。动态规划不是一般来解决最值问题的吗,这道题为什么会想到dp…

狂神。JVM入门学习笔记。

JVM学习 JVM常见面试题: 请你谈谈你对jvm的理解?Java8虚拟机和之前的变化更新?什么是OOM?什么是栈溢出StackOverFlowError?怎么分析?jvm的常见调优参数有哪些?内存快照如何抓取?怎么…

【JavaSE】保姆级教程|1万字+10张图学会类与对象--建议收藏

🌱博主简介:大一计科生,努力学习Java中!热爱写博客~预备程序媛 📜所属专栏:爪洼岛冒险记【从小白到大佬之路】 ✈往期博文回顾: 【爪洼岛冒险记】第5站:多图解,超详细讲解Java中的数组、二维数组…

weston 1: 编译与运行傻瓜教程

sudo apt-get update sudo apt-get upgrade vim ~/.bashrc export WLD$HOME/install export LD_LIBRARY_PATH$WLD/lib export PKG_CONFIG_PATH$PKG_CONFIG_PATH:/home/zzj/install/lib/x86_64-linux-gnu/pkgconfig/ source ~/.bashrc 配置路径 此处根据个人电脑配置路径 …

高级Spring之BeanFactory的实现

Spring 的发展历史较为悠久,因此很多资料还在讲解它较旧的实现,这里出于怀旧的原因,把它们都列出来,供大家参考 DefaultListableBeanFactory,是 BeanFactory 最重要的实现,像控制反转和依赖注入功能&#x…

十六进制转八进制+超大数据处理(蓝桥杯基础练习C/C++)

目录 1 题目要求 2 代码 2.1 以十进制为媒介(不可行) 2.2 以二进制为媒介 3 可能会遇到的难点 4 结论 5 延伸 5.1 超大数据阶乘 5.2 超大数据加法 5.3 以十进制为媒介的进制转换 1 题目要求 2 代码 2.1 以十进制为媒介&#xf…

【LeetCode】一文吃透回溯算法(附例题)

回溯 DFS 算法深入浅出,一文吃透! 原文同步在:https://github.com/EricPengShuai/Interview/blob/main/algorithm/回溯算法.md 回溯算法 主要参考的是 liweiwei 的总结 0. 概念 回溯法 采用试错的思想,它尝试分步的去解决一个问题…

MATLAB | 如何使用MATLAB绘制韦恩图的高阶版本:upset图

韦恩图随着阶数升高会越来越复杂,当阶数达到7或者以上时几乎没办法绘制: 但是使用upset图却可以比较轻易的绘制: 两种类型图的对应关系: 这期便教大家如何绘制这样的upset图: 教程部分 0 数据准备 数据需要的是0,1矩…

SQL注入现象

package com.bjpowernode.jdbc;import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.ResourceBundle; import java.util.Scanner; /*** 如果输入的用户名和密码是下面这样的,就会发生非注册人员登录的情况,叫做SQL注入…

【Java|golang】2287. 重排字符形成目标字符串

给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排,得到若干新的字符串。 从 s 中取出字符并重新排列,返回可以形成 target 的 最大 副本数。 示例 1: 输入:s “ilovecodingonleetcode”, targ…

go tool pprof与trace的简单使用

pprof pprof是Google的程序采样分析工具,其使用分为,采样和分析。Go 语言内置了pprof。 Go 语言库中有两种方式使用pprof,一种是通过net/http/pprof库,另一种是通过runtime/pprof库。 net/http/pprof的简单使用 引入 _ "n…

【计算机网络】HTTP/HTTPS

HTTP网络协议 虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一 理解网络协议 协议是一种 “约定”. socket api的接口, 在读写数据时, 都是按 “字符…

零基础学MySQL(三)-- 对表中数据的增删改【新年快乐】

目录✨一、INSERT 语句(添加表中数据)1.基本语法2.应用案例3.使用细节🎆二、UPDATE 语句(修改表中数据)1.基本语法2.应用案例3.使用细节🎇三、DELETE 语句(删除表中数据)1.基本语法2…