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

简介: 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;
相关文章
|
编译器 开发工具 Android开发
Android 引入FFmpeg
Android 引入FFmpeg
603 0
|
XML 存储 网络协议
kettle开发篇-Http client
kettle开发篇-Http client
1805 0
|
SQL 存储 Java
Hive【Hive(八)自定义函数】
Hive【Hive(八)自定义函数】
|
11月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
机器学习/深度学习 存储 算法
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
机器学习面试笔试知识点-决策树、随机森林、梯度提升决策树(GBDT)、XGBoost、LightGBM、CatBoost
2524 0
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
随着新兴技术的快速发展,企业面临前所未有的机遇与挑战。JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎和四大服务体系,简化开发流程,降低技术门槛,提高研发效率,助力企业加速数字化转型。平台支持多端适配、国际化、事件绑定等功能,广泛应用于 OA、ERP、IOT 等领域,提供强大的技术支持和灵活的解决方案。
748 5
|
SQL XML JSON
大数据ETL开发之图解Kettle工具(入门到精通)
ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。
9268 0
大数据ETL开发之图解Kettle工具(入门到精通)
|
JSON 数据格式 网络架构
Kettle使用接口获取数据(九)
Kettle使用接口获取数据(九)
2535 1
Kettle使用接口获取数据(九)
|
SQL 存储 关系型数据库
从Hive建表语句到MySQL的转换
【8月更文挑战第11天】
1107 7

热门文章

最新文章