使用kettle采集并处理mysql数据库中的数据

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 使用kettle采集并处理mysql数据库中的数据

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址

全文共计1857字,阅读大概需要3分钟

一、任务描述

本实验任务主要完成基于ubuntu环境的使用kettle采集并处理mysql数据库中的数据的工作。通过完成本实验任务,要求学生熟练掌握使用kettle采集并处理mysql数据库中的数据的方法,为后续实验的开展奠定ETL平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。


二、任务目标

1、掌握使用kettle采集并处理mysql数据库中的数据


三、任务环境

Ubuntu16.04、Java1.8、Kettle7.1


四、任务分析

Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。

 Kettle组成部分:


0c79e2a6a5e5459dbda775a0e25ec7ae.png

Kettle概念模型图:

9d8a8a28ae2c4bd593f7894a773d0f29.png


Kettle中有两种脚本文件,transformation和job,transformation完成针对数据的基础转换,job则完成整个工作流的控制。

 Transformation(转换):

 Transformation(转换)是由一系列被称之为step(步骤)的逻辑工作的网络。转换本质上是数据流。下图是一个转换的例子,这个转换从文本文件中读取数据,过滤,然后排序,最后将数据加载到数据库。本质上,转换是一组图形化的数据转换配置的逻辑结构,转换的两个相关的主要组成部分是step(步骤)和hops(节点连接),转换文件的扩展名是.ktr。

 Jobs(工作):

 Jobs(工作)是基于工作流模型的,协调数据源、执行过程和相关依赖性的ETL活动,Jobs(工作)将功能性和实体过程聚合在了一起,工作由工作节点连接、工作实体和工作设置组成,工作文件的扩展名是.kjb。


五、 任务实施

步骤1、环境准备

右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令 打开终端。

 启动kettle。

70581cb8f2824790877e6980d8c65799.png



图1 启动kettle

 开启mysql服务。如图2所示。

ef73d3ac32934d3781ace4c80b8dbb5a.png



图2 开启mysql


步骤2、创建Transformmations

新建一个”Transformmations”(双击Transformmations即可),然后选择”Design”栏,将”Input”下的”Table input”和”Transform”栏下的”Select values”,”Sort rows”,”Unique rows”然后是”Flow”下的”Filter rows”以及”Output”栏下的”Table output”六个图标拖进工作区。按住Shift键,鼠标拖拽”Table input”图标到”Select values”图标上,产生连线。同理其他的线也连上。注意箭头方向。如图3所示

731fbf45970f421c9968a6573a652f53.png



图3 创建Transformmations

 设置”Table input”相关内容(双击图表即可),mysql数据库密码为”root”。如图4-6所示。

ef79121ce33e4bc0a7a2333c8349d0f0.png



图4 设置”Table input”相关内容


10469ff0583c4d3783e01cd87b141854.png


图5 设置”Table input”相关内容


04ca8a1ba176489d9e251cf5e768c378.png


图6 设置”Table input”相关内容

 设置”Select values”相关内容(双击图表即可)。如图7所示。


510e8358b0ae4e8d911f434f3f005939.png


图7 设置”Select values”相关内容

 设置”Sort rows”相关参数。如图8所示。


41430ba61a8f4c72b475cdac433c820e.png


图8 设置”Sort rows”

 设置”Unique rows”相关参数。如图9所示。

43c4bbbb18cf4aa3983c571b6bc61b8f.png



图9 设置”Unique rows”

 设置”Filter rows”相关参数。如图10所示。

2b855dd792de412e97eabeac50781101.png



图10 设置”Filter rows”

 设置”Table output”相关参数,双击”Table output”即可,mysql数据库密码为”root”。如图11所示。

c60ae13bce504718be3fb74db10e3133.png



图11 设置”Table output”

 设置目标表。如图12所示。

7dd15f05252a40f184e12b689c8d7dc4.png



图12 设置目标表

 设置字段映射,最后点击”OK”完成整个设置。如图13所示。


0f51baed33fc438b8a28636e54d7d7cb.png


图13 设置字段映射


步骤3、运行任务

运行,清洗好的数据,批量导入到数据库。如图14-15所示。

a19e1a209c6a4408abaa50fbef7bd94d.png



图14 运行任务


0c21b07e2f16421f88ffe27766882c32.png


图15 保存任务

 查看运行结果。如图16所示。

1b9bef18986e44beb8e597713adcb227.png



图16 查看运行结果

 重新打开一个终端,进入mysql,切换到kettleDB数据库,检验记录是否导入。如图17-18所示。

684407d98df84b77acc30ba90fa8f091.png



图17 进入数据库


ecb995e23d8d4308a4876fd6274ebb0e.png


图18 查看表数据


♥ 知识链接

Hop

一个Hop 代表两个步骤之间的一个或者多个数据流。一个Hop 总是代表着两个Job Entry 之间的连接,并且能够被原始的Job Entry 设置,无条件的执行下一个Job Entry,


♥ 温馨提示

Output Stream:一个Output Stream 是离开一个步骤时的行的堆栈。


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
数据采集 数据库 Python
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
有哪些方法可以验证用户输入数据的格式是否符合数据库的要求?
144 75
|
14天前
|
Java 关系型数据库 MySQL
SpringBoot 通过集成 Flink CDC 来实时追踪 MySql 数据变动
通过详细的步骤和示例代码,您可以在 SpringBoot 项目中成功集成 Flink CDC,并实时追踪 MySQL 数据库的变动。
119 43
|
7天前
|
存储 SQL 关系型数据库
MySQL底层概述—4.InnoDB数据文件
本文介绍了InnoDB表空间文件结构及其组成部分,包括表空间、段、区、页和行。表空间是最高逻辑层,包含多个段;段由若干个区组成,每个区包含64个连续的页,页用于存储多条行记录。文章还详细解析了Page结构,分为通用部分(文件头与文件尾)、数据记录部分和页目录部分。此外,文中探讨了行记录格式,包括四种行格式(Redundant、Compact、Dynamic和Compressed),重点介绍了Compact行记录格式及其溢出机制。最后,文章解释了不同行格式的特点及应用场景,帮助理解InnoDB存储引擎的工作原理。
MySQL底层概述—4.InnoDB数据文件
|
2月前
|
SQL 存储 运维
从建模到运维:联犀如何完美融入时序数据库 TDengine 实现物联网数据流畅管理
本篇文章是“2024,我想和 TDengine 谈谈”征文活动的三等奖作品。文章从一个具体的业务场景出发,分析了企业在面对海量时序数据时的挑战,并提出了利用 TDengine 高效处理和存储数据的方法,帮助企业解决在数据采集、存储、分析等方面的痛点。通过这篇文章,作者不仅展示了自己对数据处理技术的理解,还进一步阐释了时序数据库在行业中的潜力与应用价值,为读者提供了很多实际的操作思路和技术选型的参考。
56 1
|
2月前
|
存储 Java easyexcel
招行面试:100万级别数据的Excel,如何秒级导入到数据库?
本文由40岁老架构师尼恩撰写,分享了应对招商银行Java后端面试绝命12题的经验。文章详细介绍了如何通过系统化准备,在面试中展示强大的技术实力。针对百万级数据的Excel导入难题,尼恩推荐使用阿里巴巴开源的EasyExcel框架,并结合高性能分片读取、Disruptor队列缓冲和高并发批量写入的架构方案,实现高效的数据处理。此外,文章还提供了完整的代码示例和配置说明,帮助读者快速掌握相关技能。建议读者参考《尼恩Java面试宝典PDF》进行系统化刷题,提升面试竞争力。关注公众号【技术自由圈】可获取更多技术资源和指导。
|
2月前
|
前端开发 JavaScript 数据库
获取数据库中字段的数据作为下拉框选项
获取数据库中字段的数据作为下拉框选项
67 5
|
2月前
|
存储 关系型数据库 MySQL
mysql怎么查询longblob类型数据的大小
通过本文的介绍,希望您能深入理解如何查询MySQL中 `LONG BLOB`类型数据的大小,并结合优化技术提升查询性能,以满足实际业务需求。
177 6
|
2月前
|
SQL 关系型数据库 MySQL
mysql分页读取数据重复问题
在服务端开发中,与MySQL数据库进行数据交互时,常因数据量大、网络延迟等因素需分页读取数据。文章介绍了使用`limit`和`offset`参数实现分页的方法,并针对分页过程中可能出现的数据重复问题进行了详细分析,提出了利用时间戳或确保排序规则绝对性等解决方案。
119 1
|
3月前
|
关系型数据库 MySQL 数据库
GBase 数据库如何像MYSQL一样存放多行数据
GBase 数据库如何像MYSQL一样存放多行数据
|
26天前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决

热门文章

最新文章