Kettle数据采集和预处理工具的认知和基本应用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: Kettle数据采集和预处理工具的认知和基本应用

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

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

一、 任务描述

本实验任务主要完成基于Ubuntu环境的Ketlle数据采集工具的介绍和简单应用;并且增加对数据采集和预处理工具的了解。

 通过完成本实验任务,要求学生对数据采集有一定的了解,为后续学习奠定基础。也为了掌握从事数据采集工程师等岗位的技能基础。


二、 任务目标

完成实验实例,从mysql导出到excel完成简单的数据采集和处理。


三、 任务环境

Unbunt 、 kettle、mysql


四、 任务分析

数据采集(DAQ)又称数据获取,是指从传感器和其它待测设备等模拟和数字被测单元中自动采集非电量或者电量信号,送到上位机中进行分析、处理。

 数据预处理的本质属于数据的“深度采集“,是信息数据的智能分析处理。利用网页内容分析、自动分类、自动聚类、自动排重、自动摘要、主题词抽取等智能化处理技术,对采集到的海量数据信息进行挖掘整合,最终按照统一规范的组织形式存储到DSM数据仓库,供系统体系结构分析研究使用。

常用的有工具有 flume、kettle等;

 flume (日志收集系统)

 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。

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

 Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

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


♥ 知识链接

 数据采集系统是结合基于计算机或者其他专用测试平台的测量软硬件产品来实现灵活的、用户自定义的测量系统。采集一般是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。

 数据预处理的工作质量很大程度上决定最终服务数据的质量,是DSM类项目( 如,DSM项目全过程管理、有序用电方案评价等)深度分析的重要基础。在数据智能分析处理中,主要包括:

1)自动分类,用于对采集内容的自动分类;

2)自动摘要,用于对采集内容的自动摘要;

3)自动排重,用于对采集内容的重复性判定。< input>元素是最重要的表单元素。


五、 任务实施

步骤1、打开kettle

鼠标右键桌面,弹出窗口中点击【Open Terminal Here】打开终端,在终端窗口执行【/simple/data-integration/spoon.sh】;如图1所示:


8c53c3ea2c8a463abd574dae5ccef3fc.png


图1 打开kettle


步骤2、采集mysql数据

点击【File→New→Transformation】新建一个【转换项目】;如图2所示:

fdf753f28f6a4b40be1c123b90c7389e.png



图2 新建项目

显示的都是工具目录;具体应用可自行实践;本实验会用到【Input】和【Output】;如图3所示:


588ff2c2da084b939691cdec4999f6b8.png


图3 查看目录功能

【Input】是输入数据的工具目录;如图4所示:


4193efdc0fac4e0889421e3776bf4175.png


图4 查看输入功能目录

【Output】是输出工具的数出目录;如图5所示:


46139eb5d2f74a11bd6f4a7a7004239b.png


图5 查看输出功能目录

从【Input】中选取【Tableinput】,从【Output】中选取【Microsoft Excel Output】;读取MySQL的表中数据到Excel中;如图6所示:


acec953554a84e708723e8f6ba3809c1.png


图6 构建一个项目

打开【Table input】,定义个名称为【mysql】;点击【New】新建一个mysql连接;如图7所示:


72f091968bfd4e2a8f0f86123a64c675.png


图7 构建数据库连接

打开终端,执行【service mysql start】启动mysql;定义个连接名称【mysql】;选择Connection Type : 为MySQL; 输入Host Name: 127.0.0.1 (localhost)、Database Name: tangrendb 、 User Name : tangren 、 Password : 123456; 点击【Test】 测试连接状态成功或者失败;成功过后点击【OK】;如图8所示:


cc297cde11aa470eb392cd4a563869df.png


图8 输入数据库参数

点击【Get SQL select statement…】选择【tangrentable】表,点击【OK】,如果弹出窗口,点击【yes】;如图9所示:

b2758aa63e204b4fbc2c4dabba747ef9.png



图9 查看数据库表

点击【Preview】浏览表中数据;可自行输入查看的行数;如图10所示



43121e8a6bc844b6a0712a6bd9969bae.png

图10 设置浏览行数

看完点击【Close】,然后在 【Table input】点击【OK】;如图11所示:


0001cc59f0ec480386bf9438e3229bd6.png


图11 浏览数据

打开【Microsoft Excel Output】,定义个名称【OutputExcel】,点击【Browse…】(去掉后缀名),在Extension添加后缀名【xlsx】(如果在Filename中有后缀名,这里可以不写),点击【Show filename(s)…】,查看文件存储路径和文件名;点击【Ok】,(图中的数据

存储路径如果不存在请创建或者自定义一个)。如图12所示:

bedd9be46f794fa480a7f0bdab262f12.png



图12 配置文件保存属性

点击图中红框运行按钮,弹出对话框点击【Run】;如图13所示:


efcbf8b0bbe94dbf973eef09d7d3d0a7.png


图13 运行项目

项目保存路径和名称设置,选择kettle_data,名称为【kettleDemo】,点击【OK】;如图14所示:


7864ee8cfa3840d69050d9c11e6670ce.png


图14 保存项目

在【Execution Results】中出现【Finished】;说明运行成功;如图15所示:


a76901c3e2d6498888e24c05de127d49.png


图15 运行结果

使用终端查看数据文件结果;如图16所示:

682a8e19f53a4df086ee652436b831fc.png



图16 查看结果


♥ 温馨提示

Kettle家族


Kettle家族目前包括4个产品:Spoon、Pan、CHEF、Kitchen。

SPOON 允许你通过图形界面来设计ETL转换过程(Transformation)。

PAN 允许你批量运行由Spoon设计的ETL转换 (例如使用一个时间调度器)。Pan是一个后台执行的程序,没有图形界面。

CHEF 允许你创建任务(Job)。 任务通过允许每个转换,任务,脚本等等,更有利于自动化更新数据仓库的复杂工作。任务通过允许每个转换,任务,脚本等等。任务将会被检查,看看是否正确地运行了。

KITCHEN 允许你批量使用由Chef设计的任务 (例如使用一个时间调度器)。KITCHEN也是一个后台运行的程序。

d227ecad03494ec69ce0aae09679854d.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
前端开发 JavaScript 网络协议
深入理解Python Web开发中的前后端分离与WebSocket实时通信技术
【7月更文挑战第18天】前后端分离采用Flask/Django框架,前端JavaScript框架如Vue.js与后端通过AJAX/Fetch通信。WebSocket提供实时双向通信,Python可借助websockets库或Flask-SocketIO实现。最佳实践包括定义清晰的接口规范,确保安全性(HTTPS,认证授权),优化性能,和健壮的错误处理。结合两者,打造高效实时应用。
230 1
|
Java Linux 程序员
Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
Linux平台中调试C/C++内存泄漏方法 (腾讯和MTK面试的时候问到的)
Altium Designer中如何锁定部分选中的元器件
Altium Designer中如何锁定部分选中的元器件
998 0
|
数据采集 分布式计算 Java
【数据采集与预处理】流数据采集工具Flume
【数据采集与预处理】流数据采集工具Flume
902 8
|
Web App开发 数据采集 前端开发
Python Selenium 爬虫淘宝案例
本文基于Selenium + MongoDB + ChromeDriver + Pyquery实现爬虫淘宝案例。【2月更文挑战第11天】
685 1
Python Selenium 爬虫淘宝案例
|
11月前
|
Ubuntu Linux 网络安全
Docker&Docker Compose安装(离线+在线)
Docker&Docker Compose安装(离线+在线)
12662 1
|
12月前
|
弹性计算 关系型数据库 Serverless
告别资源瓶颈,函数计算驱动多媒体文件处理方案:https://www.aliyun.com/solution/tech-solution/fc-drive-file
本文介绍了一种基于阿里云的一键部署解决方案,利用云服务器ECS、RDS MySQL、OSS、函数计算FC及MNS等服务,实现高效的多媒体文件处理。方案通过事件驱动机制,将文件处理任务解耦,并自动弹性扩展,按需付费,简化部署流程,提高处理效率。本文还提供了详细的部署步骤与体验反馈,展示了从配置到文件处理的全过程。
|
云安全 安全 网络安全
云安全合规:构建可信云环境的基石
自动化与智能化:随着人工智能、大数据等技术的不断发展,云安全合规将越来越趋向于自动化和智能化。通过引入自动化工具和智能算法,企业可以实现对云环境中安全风险的实时监测、预警和处置,提高合规效率和准确性。 综合化治理:未来的云安全合规将更加注重综合化治理。企业需要构建全方位、多层次的安全防护体系,将合规要求融入到业务规划、架构设计、系统开发、运维管理等各个环节中,实现全生命周期的安全合规管理。 标准化与规范化:随着云安全合规的不断发展,相关标准和规范将逐渐完善并趋于统一。这将有助于降低企业在实施云安全合规过程中的成本和难度,提高合规效率和质量。 国际合作与交流:面对全球化发展的挑战和机遇,各国政府
478 6
|
SQL 数据处理 Apache
[1.2.0新功能系列:一] Apache Doris 1.2.0 版本 Light Schema Change
[1.2.0新功能系列:一] Apache Doris 1.2.0 版本 Light Schema Change
282 0
|
存储 弹性计算 缓存
阿里云2核CPU云服务器租用收费标准与活动价格参考
阿里云2核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云2核CPU云服务器租用收费标准与活动价格参考

热门文章

最新文章