从 晶 科 技
CONGJINGTECHNOLOGY
设为首页 | 收藏本站
新闻详情

开源ETL工具 数据清洗用kettle

98
发表时间:2023-03-06 15:05

众多ETL软件中,有商用ETL工具软件:例如IBM DataStage、Informatica、Microsoft SSIS 、Oracle ODI;有开源ETL工具软件,例如Kettle 、Ketl、Octopus、Talend等。对于新手,想使用开源ETL工具做数据清洗,小编推荐用kettle。


ETL(即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少。kettle是纯java编写,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,跟随小编一起来看一下。


Kettle概念


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


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


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


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


Kettle组成


kettle家族目前包括四个产品,spoon,pan,chef,kitchen


Kettle-ETL


1、ETL


抽取(Extract):一般抽取过程需要连接到不同的数据资源,以便为随后的步骤(转换、加载、分析、报表展示等)提供数据。数据抽取部分看上去简单而琐碎,实际上是ETL解决方案的成功实施的一个主要障碍。


转换(Transform):任何对数据的处理过程都是转换。这些处理过程通常包括(但不限于)下面一些操作:


1、移动数据


2、根据规则验证数据


3、修改数据的内容或者数据结构


4、集成多个数据源的数据


5、根据处理后的数据计算派生值或者聚集值


加载(Load):将数据加载到目标系统的所有操作


2、ETL实现的主要转换


1、对空值的处理


如果在转换过程中捕获到某些字段存在空值,在进行加载时需要将空值替换成某一数据或者直接进行加载,不做任何转换。


2、对数据格式的规范化


根据业务数据源中各个字段的数据类型,进行数据格式的规范和统一。


例如,统一将数值类型转化成字符串类型。


3、根据业务需求进行字段的拆分或者合并


依据业务需求对字段可进行分解。


例如,主叫号020-88888888,可进行区域码和电话号码分解。


区域号:020


电话号码: 88888888


4、对缺失数据的替换


根据业务需求对可实现无效数据、缺失数据进行替换


5、根据业务规则对数据进行过滤


6、 根据编码表进行数据唯一性的转换


根据编码表制定的业务规范进行数据的转换,实现数据仓库系统内部数据的一致性。


对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。


kettle工具-KettlePack


kettle-1.png


使用kettle的小伙伴一定都遇到过这样的问题,kettle 的定时调度,任务过多时,你只能通过系统自带的定时任务调度去进行管理,写日志,无法做到统一的管理。那怎么办呢?


从晶科技开发的KettlePack管理平台,是专门用来调度、监控由kettle客户端创建的任务和管理的。基于Kettle8.3开发,安装简单、使用便捷,关键是免费用。


KettlePack管理平台3大主要功能


一、ETL数据抽取

基于kettle的插件工具,支持数据实时采集应用,可进行插件的定制化开发。


二、任务调度

定期执行和监控spoon创建的job和transformation,支持文件仓库、数据库仓库、本地文件形式的多任务调度。


三、数据应用

对采集到的数据进行实时展示、数据趋势展示以及统计报表展示应用。


欢迎下载使用,从晶科技KettlePack管理平台


联系客服