程序员小sister的烦恼_快速上手大数据ETL神器Kettle(xls导入mysql)

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 程序员小sister的烦恼_快速上手大数据ETL神器Kettle(xls导入mysql)

引言

大家好,我是ChinaManor,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。

一文快速搞懂系列讲究快速入门掌握一个新的大数据组件,帮助新手了解大数据技术,以下是系列文章:

文章传送门:

一文快速搞懂Kudu到底是什么

一文快速了解Elastic Search 开源搜索引擎(技术选型+启动命令)

一文快速了解ClickHouse 战斗民族的开源搜索引擎(超详细解读+快速入门)

一文快速搞懂系列__一文快速搞懂SuperSet[实战案例]

这是一文快速搞懂系列的第五篇:一文快速大数据ETL神奇Kettle

程序员小姐姐的烦恼

公司来了个漂亮的程序员小姐姐叫小花,她刚大学毕业,项目经理安排她这样一项工作:

项目经理想要让她将这些数据导入到MySQL中来。

小花刚来,急得团团转,不知所措,机会来了。

数据抽取的需求

需要从Excel中将这些用户的数据,使用Kettle抽取到MySQL中

准备工作

为了完成本案例,我们需要准备以下几件工作:

找到小姐姐的Excel文件

在资料/测试数据 文件夹中可以找到user.xlsx文件

4.3.2 在MySQL数据库中创建数据库

为了方便将Excel文件中的数据抽取到MySQL中,我们必须要创建一个名字叫kettle_demo的数据库,后续Excel中的数据会装载到该数据库的表中。

在DataGrip中右键点击MySQL连接,选择New/Schema

在创建数据库的对话框中输入kettle_demo,点击Execute

我们可以看到kettle_demo数据库名称就已经创建好了

4.3.3 在kettle中加载MySQL驱动

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

1.将资料中的 MySQL jdbc 驱动包mysql-connector-java-5.1.47.jar和mysql-connector-java-8.0.13.jar导入到 data-integration/lib

3.重启Kettle即可

构建Kettle数据流图

效果图:

开发步骤

1.在Kettle中创建一个转换(两种方式)

(1)点击菜单:文件/新建/转换

(2)点击按钮:

(3)快捷键:Ctrl + N

2.从左边的核心对象中,分别拖入「输入/Excel输入」、「输出/表输出」两个组件到中间区域

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

配置Kettle数据流图中的组件

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

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

4.5.1 配置Excel输入组件

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

2.因为此处要抽取的Excel文件为Excel 2007版本,所以指定表格类型为Excel 2007 XLSX (Apache POI)

3.随后我们需要找到要抽取的那个Excel文件,点击「浏览」按钮,找到 「资料/测试数据/user.xlsx」文件

4.再点击旁边的「增加」按钮,切记:一定要点击增加按钮哦!否则没有效果!

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

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

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

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

9.点击「确定」按钮保存。

4.5.2 配置MySQL组件

4.5.2.1 创建数据库连接

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

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

2.配置MySQL连接

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

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

(3)输入连接方式:

(4)输入MySQL的连接参数

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

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

4.5.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脚本。执行完后,可以在DataGrip中刷新在数据库,可以查看到Kettle帮助我们创建的t_user表。

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

保存并启动执行Kettle转换

数据流图中的组件都已经准备好了,接下来就可以开始执行Kettle转换了。

1.点击保存按钮保存转换。

2.点击工具栏上的播放按钮启动执行。

3.执行成功后,可以看到以下界面。组件上都显示了绿色的对号,执行结果中可以看到:转换完成!日志,说明Kettle的转换已经执行成功!!

确认执行结果

Kettle是否已经帮助我们将Excel中的数据抽取并装载到MySQL呢?我们需要到MySQL中看一看,t_user表中是否有数据呢。

在DataGrip中双击 t_user 表格,可以看到Excel中的数据都已经抽取到了MySQL。

到这里,恭喜你,程序员小姐姐小花的问题你已经帮她解决了,晚上让她请你吃个饭吧。

总结

以上便是快速上手大数据ETL神器Kettle(xls导入mysql),数据及软件可以私信我获得~

愿你读过之后有自己的收获,如果有收获不妨一键三连一下~


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks支持将ODPS表拆分并回流到MySQL的多个库和表中
【2月更文挑战第14天】DataWorks支持将ODPS表拆分并回流到MySQL的多个库和表中
59 8
|
3月前
|
关系型数据库 MySQL Serverless
高顿教育:大数据抽数分析业务引入polardb mysql serverless
高顿教育通过使用polardb serverless形态进行数据汇总,然后统一进行数据同步到数仓,业务有明显高低峰期,灵活的弹性伸缩能力,大大降低了客户使用成本。
|
3月前
|
存储 关系型数据库 MySQL
Mysql 存储大数据量问题
Mysql 存储大数据量问题
96 1
|
1月前
|
存储 SQL 关系型数据库
【MySQL 数据库】6、一篇文章学习【索引知识】,提高大数据量的查询效率【文末送书】
【MySQL 数据库】6、一篇文章学习【索引知识】,提高大数据量的查询效率【文末送书】
59 0
|
2月前
|
SQL 分布式计算 关系型数据库
Dataphin实现MaxCompute外表数据快速批量同步至ADB MySQL
当前大数据时代背景下,企业对数据的处理、分析和实时应用的需求日益增强。阿里云MaxCompute广泛应用于海量数据的ETL、数据分析等场景,但在将处理后的数据进一步同步至在线数据库系统,如ADB MySQL 3.0(阿里云自研的新一代云原生关系型数据库MySQL版)以支持实时查询、业务决策等需求时,可能会遇到数据迁移速度缓慢的问题。 DataphinV3.14版本支持外表导入SQL的带参调度,实现通过MaxCompute外表的方式将数据批量同步至ADB MySQL 3.0中,显著提升数据迁移的速度和效率。
286 1
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
47 0
|
2月前
|
SQL 存储 分布式计算
MaxCompute问题之下载数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 0
|
2月前
|
分布式计算 关系型数据库 MySQL
MaxCompute问题之数据归属分区如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
36 0
|
2月前
|
分布式计算 DataWorks BI
MaxCompute数据问题之运行报错如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 1
|
2月前
|
分布式计算 关系型数据库 数据库连接
MaxCompute数据问题之数据迁移如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
35 0

热门文章

最新文章