百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

ETL工具哪家强?开源kettle当仁不让

sinye56 2024-10-04 23:34 5 浏览 0 评论

概述

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、 根据编码表进行数据唯一性的转换

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

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

ETL软件

商用ETL工具软件

Informatica、IBM DataStage、Microsoft SSIS 、Oracle ODI

开源ETL工具软件

Kettle 、Talend、CloverETL、Ketl、Octopus

总结:

Kettle和informatica都提供了大量的转换步骤,脚本功能,都可以处理复制的ETL转换。

通常情况下informatica比kettle更快。informatica有下推优化,缓存查询等提高性能的手段。但是如果你对kettle和数据库有足够的了解,做一些调整,你可以提高kettle的速度,在一些情况下可以达到甚至超过informatica的速度。

篇幅有限,今天主要介绍一下kettle方面的内容,后面有空再整理下kettle搭建及怎么使用,感兴趣的朋友可以关注一下~


相关推荐

linux安装FTP

1、在nkftp目录下安装ftp,进入到nkftp里面[root@localhostbin]#cd/data/nkftp执行安装命令:[root@localhostnkftp]#rpm-i...

LINUX下搭建FTP服务器

FTP服务器介绍FTP是FileTransferProtocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(App...

Linux下如何进行FTP设置

目录:一、Redhat/CentOS安装vsftp软件二、Ubuntu/Debian安装vsftp软件一、Redhat/CentOS安装vsftp软件1.更新yum源yumupdate-y2.安...

推荐使用集串口 SSH远程登录和FTP传输三合一工具MobaXterm

来源:百问网作者:韦东山本文字数:1216,阅读时长:4分钟在以前的资料里,串口和SSH远程登使用SecureCRT,window与ubuntu数据传输使用filezilla,窗口切换来切换去,麻烦也...

如何搭建FTP服务器(Linux系统)

上次说了Windows操作系统下搭建的FTP服务器,那有朋友问我,说买的XX轻量应用服务器都是属于Linux的操作系统,我该如何为搭建FTP服务器呢?...

Linux 命令 ncftp(文件传输)——想玩转linux就请一直看下去

我是IT悟道,点击右上方“关注”,每天分享IT、科技、数码方面的干货。Linuxncftp命令...

如何用 ftp 实现一键上传

简介ftp是Internet标准文件传输协议的用户界面,它允许用户与远程网络站点之间传输文件...

Linux安装ftp

1安装vsftpd组件安装完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件。[root@bogon~]#yum-yinstallvsftpd2添加一个...

一天一点点:linux - ftp命令

linuxftp命令设置文件系统相关功能。FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。语法ftp[-dignv][主机名称或IP地址]参数:-d详细显示指令执...

Centos 7 搭建FTP

目录安装软件以及启动服务添加防火墙规则关闭selinuxftp配置常用常用参数详解特殊参数配置文件没有的参数也可以添加到配置中1.安装软件以及启动服务yuminstall-yvsftpdsys...

【Linux】Linux中ftp命令,没有你想的那么简单

本文介绍了Linux中FTP命令的基本用法,包括连接与登录远程服务器,以及解析了FTP协议中五个最常用的操作命令的使用和解析过程。同时,提供了一个包含常用FTP操作命令的表格,供读者参考。通过熟练掌握...

linux 命令行操作ftp

以下是linuxftp命令参数的详解。FTP>!从ftp子系统退出到外壳?FTP>?显示ftp命令说明??和help相同?格式:?[command]说明:[com...

多学习才能多赚钱之:linux如何使用ftp

linux如何使用ftp步骤1:建立FTP连接想要连接FTP服务器,在命令上中先输入ftp然后空格跟上FTP服务器的域名'domain.com'或者IP地址例如:ftpdom...

linux常用网络操作方法:ftp命令使用方法

常用网络操作方法Linux提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户登录到远程计算机上、传输文件和执行远程命令等。本节介绍下列几个常用的有关网络操作的命令:ftp传输文件tel...

Linux 5.15有望合并Memory Folios方案 内核构建速度可提升7%

甲骨文公司的长期内核开发人员MatthewWilcox已经研究了“内存对开区”概念相当长的一段时间,这可以改善Linux的内存管理,使其具有更大的效率。例如,使用内存对开的基准测试表明,内核的构建速...

取消回复欢迎 发表评论: