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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 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 是离开一个步骤时的行的堆栈。


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
存储 JSON 关系型数据库
【干货满满】解密 API 数据解析:从 JSON 到数据库存储的完整流程
本文详解电商API开发中JSON数据解析与数据库存储的全流程,涵盖数据提取、清洗、转换及优化策略,结合Python实战代码与主流数据库方案,助开发者构建高效、可靠的数据处理管道。
|
5月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
3月前
|
SQL 人工智能 关系型数据库
如何实现MySQL百万级数据的查询?
本文探讨了在MySQL中对百万级数据进行排序分页查询的优化策略。面对五百万条数据,传统的浅分页和深分页查询效率较低,尤其深分页因偏移量大导致性能显著下降。通过为排序字段添加索引、使用联合索引、手动回表等方法,有效提升了查询速度。最终建议根据业务需求选择合适方案:浅分页可加单列索引,深分页推荐联合索引或子查询优化,同时结合前端传递最后一条数据ID的方式实现高效翻页。
141 0
|
19天前
|
人工智能 Java 关系型数据库
使用数据连接池进行数据库操作
使用数据连接池进行数据库操作
66 11
|
2月前
|
存储 数据管理 数据库
数据字典是什么?和数据库、数据仓库有什么关系?
在数据处理中,你是否常困惑于字段含义、指标计算或数据来源?数据字典正是解答这些问题的关键工具,它清晰定义数据的名称、类型、来源、计算方式等,服务于开发者、分析师和数据管理者。本文详解数据字典的定义、组成及其与数据库、数据仓库的关系,助你夯实数据基础。
数据字典是什么?和数据库、数据仓库有什么关系?
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
151 10
|
2月前
|
存储 关系型数据库 数据库
【赵渝强老师】PostgreSQL数据库的WAL日志与数据写入的过程
PostgreSQL中的WAL(预写日志)是保证数据完整性的关键技术。在数据修改前,系统会先将日志写入WAL,确保宕机时可通过日志恢复数据。它减少了磁盘I/O,提升了性能,并支持手动切换日志文件。WAL文件默认存储在pg_wal目录下,采用16进制命名规则。此外,PostgreSQL提供pg_waldump工具解析日志内容。
157 0
|
3月前
|
SQL 存储 缓存
MySQL 如何高效可靠处理持久化数据
本文详细解析了 MySQL 的 SQL 执行流程、crash-safe 机制及性能优化策略。内容涵盖连接器、分析器、优化器、执行器与存储引擎的工作原理,深入探讨 redolog 与 binlog 的两阶段提交机制,并分析日志策略、组提交、脏页刷盘等关键性能优化手段,帮助提升数据库稳定性与执行效率。
|
4月前
|
存储 SQL Java
数据存储使用文件还是数据库,哪个更合适?
数据库和文件系统各有优劣:数据库读写性能较低、结构 rigid,但具备计算能力和数据一致性保障;文件系统灵活易管理、读写高效,但缺乏计算能力且无法保证一致性。针对仅需高效存储与灵活管理的场景,文件系统更优,但其计算短板可通过开源工具 SPL(Structured Process Language)弥补。SPL 提供独立计算语法及高性能文件格式(如集文件、组表),支持复杂计算与多源混合查询,甚至可替代数据仓库。此外,SPL 易集成、支持热切换,大幅提升开发运维效率,是后数据库时代文件存储的理想补充方案。
|
5月前
|
存储 SQL 缓存
mysql数据引擎有哪些
MySQL 提供了多种存储引擎,每种引擎都有其独特的特点和适用场景。以下是一些常见的 MySQL 存储引擎及其特点:
140 0

推荐镜像

更多