您的位置:首页 > 其它

数据清洗工具kettle

2015-05-26 09:47 776 查看
kettle简介:

kettle是pentho的一个组件,用来做数据清洗的,现在已经支持很多数据库以及文件格式,也包括大数据hdfs等。有图形界面,也可以在linux下去调用,用起来非常方便。kettle是开源工具,有源代码可以下载,ant管理编译,流程比较清楚,如果满足不了自己的需求可以去开发,也可以嵌入使用java代码以及javascript代码,来进行数据清洗。下面我来简单的说下一些常用的工具。



1.Transform=转换

Dummy Plugin=空操作

=这是一个空的测试步骤

2.Input=导入数据

ESRI Shapefile Reader=读取矢量数据

=从SHP文件中读取图形数据和属性数据
S3 CSV Input=CSV文件输入

=将读取的CSV文件数据并行存储到Amazon中

3.输入

Access Input=导入数据库文件

=从微软数据库文件中读取数据
CSV file input=导入CSV文件

=导入简单的CSV文件
Cube 输入=导入Cube文件

=从一个cube文件中读取数据
Excel 输入=导入Excel文件

=从微软的Excel文件中读取数据,兼容Excel 95,97,2000
Fixed file input=导入文本文件

=导入文本文件
Generate random value=生成随机数

=随机数生成器
Get file Names=获得文件名称

=从系统中获得文件并将其发送到下一步
Get files Rows Count=获取文件行数

=获取文件行数
Get SubFolder names=获取子文件夹名称

=读取一个主文件夹获取所有的子文件
Get data from XML=从xml文件中获取数据

=使用XPath路径读取xml文件,这个步骤也允许你解析以前字段定义的xml文件
LDAP Input=使用LDAP协议读取远程数据

=利用LDAP协议连接远程主机读取数据
LDIF Input=导入LDIF文件

=从LDIF文件中读取数据
Mondrian Input=导入MDX文件

=用MDX查询语句执行和审核数据,分析LDAP服务器
Property Input=导入属性文件

=从属性文件中读入键值对
RSS Input=导入RSS订阅

=读取RSS订阅信息
SalesForce Input=导入salesforce服务

=读取slaseforce模块服务,并将其转换成数据,并把这些数据写入多个输出流
XBase输入=导入DBF文件

=从一个XBase类型的DBF文件中读取记录

4.输出

Access Output=导出数据

=将记录存储到微软的数据库表中
Cube输出=导出Cube文件

=将数据写入Cube文件中
Excel Output=导出Excel文件

=存储记录到Excel格式化文档中
Properties Output=导出属性信息

=将数据写入属性文件
RSS Output=导出RSS订阅信息

=读RSS订阅信息流
SQL File Output=导出SQL文件

=SQL INSERT语句输出到文件
Synchronize after merge=合并后同步信息

=根据某个字段值的条件插入,删除,更新数据库表

5.转换

Add XML=添加xml文件内容

=将几个字段编码写入xml文件
Add a checksum=添加checksum列

=为每个输入行添加checksum列(校验和)
Closure Generator=结束操作

=允许利用ID的父子关系生成一个结束表

Number range=编码范围

=创建数字字段的范围
Replace in string=替换字符串

=用另一个单词替换当前的所以得字符串
Row Normaliser=行转换(数据恢复)

=从透视表中还原数据到事实表(通过指定维度字段及其分类值,度量字段,最终还原出事实表数据)
Split field to rows=拆分字段

=按指定分隔符拆分字段
Strings cut=裁剪字符串

=裁剪字符串生成子串
Unique rows (HashSet)=除去重复行

=去掉输入流中的重复行(在使用该节点前要先排序,否则只能删除连续的重复行。)
XSL Transformation=XSL转换

=实现XML到XSL的转换
值映射=值映射

=实现对特定字段总一个值到另一值得映射
行扁平化=行扁平化

=将输入流出现的结果字段进行扁平化处理(指定需处理的字段和扃平化后的新字段,将其它字段做为组合Key进行扃平化处理)
行转列=行转列

=通过检索键值对拆分行,分配他们到新的字段中。(同Normaliser过程相反,)
5.utility(应用)

Clone row=复制行

=根据需要可以多次复制行
Delay row=延迟行

=对输入字段延迟一定时间后输出
Execute a process=执行一个进程

=执行一个进程然后返回一个结果
If field value is null=如果字段为空

=如果字段为空,为它设置一个常数
Mail=邮递

=发送一个邮件
Metadata structure of stream=数据流结构

=读取传入数据流
Null if...=设置空字符

=如果某个字符值为指定的值,就将它设置为null
Process files=文件操作

=通过输入文件名,对文件进行删除,拷贝,转移操作
Write to log=写日志

=向日志文件中写入数据

6. Flow()

Abort=中止

=中止一个转变
Append streams=追加流

=追加一个有序流
Blocking Step=阻塞

=阻塞到所有的输入行都执行完
Detect empty stream=空输入流检测

=如果输入流里没有字段将会输出空字段
Identify last row in a stream=区分最后的一个输入流

=对最后一个输入流进行标识
Switch / Case=判断

=根据判断条件,转到特定的路径

7. 脚本

Execute row SQL script=执行sql脚本语言

=对前一步创建的字段执行SQL
Modified Java Script Value=建设JavaScript表达式

=建设JavaScript表达式更好的性能和更容易表达的用户界面,也允许您创建多个脚本
Regex Evaluation=正则表达式验证

=允许你输入一个字段用正则表达式就行验证
User Defined Java Expression=用户定义java表达式

=利用Janino优化java性能

8. 查询

Check if a column exists=检索列

=此步骤可以验证数据库表中的一个特定的列是否存在
Dynamic SQL row=动态SQL语句

=以前的字段执行动态SQL语句
File exists=文件存在

=检索文件是否存在
HTTP Post=HTTP 请求

=使用URL请求一个web Service服务
HTTP client=HTTP 客户端

=HTTP客户端执行一个简单的调用
Table exists=表存在

=验证某一个表在数据库中是否存在

9. 连接

Merge Join=合并连接

=执行一个典型的数据集之间的合并
Sorted Merge=排序合并

=用给定的关键字段对多个输入流进行排序
XML Join=添加XML标签

=向目标XML字段中添加一个XML标签
11. Validation(验证)

Credit card validator=信用卡验证

=1.帮助你验证一个信用卡号是有效的,2.判断信用卡类别
Data Validator=数据验证

=根据设置规则对数据进行验证
Mail Validator=邮件验证

=验证邮件地址是否有效
XSD Validator=xml文件验证

=根据XML模式定义验证XML文件

12. statistics(统计)

Analytic Query=分析查询

=执行分析查询有序集
Reservoir Sampling=数据仓库抽样

=从输入流中抽取复制的数据行
Sample rows=抽样记录

=根据设置数目过滤记录
Univariate Statistics=变量分析

=对一个输入字段进行一些简单的计算
13. 作业

Get Variables=获得变量

=找到指定的变量,将他们放到有用的字段中
Get files from result=从以前的结果中获得文件

=这个步骤允许你读取先前的文件,或者上一个job工程的入口
Set Variables=设置环境变量

=根据输入行设置环境变量
Set files in result=复制文件名到结果

=设置文件名到转换结果,以后的job工程入口可以运用这个信息
15.内联

Injector=记录注册器

=通过API端口注册行记录到转换过程
Socket reader=套接字读取器

=用在集群环境下实现服务器之间的数据传输
Socket writer=写套接字

=用在集群环境,利用TCP/IP协议实现服务器之间数据传输

16. 实验

GZIP CSV Input=导入压缩文件

=导入压缩文件到输入流读取器
Greenplum Bulk Loader=Greenplum批量加载

=加载
MySQL Bulk Loader=MySQL批量加载

=利用已知通道进行文件加载
PostgreSQL Bulk Loader=PostgreSQL批量加载

=PostgreSQL批量加载
Set field value=设置字段值

=和其他字段共同设置字段值
Set field value to a constant=设置常数字段

=为一个字段设置常数

17.不推荐

Get previous row fields=获得先前的字段

=获得先前字段的值
Streaming XML Input=导入XML文件流

=基于SAX分析器,对XML文件提供价值分析

18. Bulk Loading(批量加载)

Infobright Loader=数据仓库加载器

=加载数据到数据仓库表中
LucidDB Bulk Loader=批量加载LucidDB数据库

=使用流模式加载数据到LucidDB数据库
MonetDB Bulk Loader=批量加载MonetDB数据库

=使用流模式加载数据到MonetDB数据库
Oracle Bulk Loader=批量加载数据到Oracle数据库

=使用流模式加载数据到Oracle数据库
以上是我在网上找到,加上自己的理解。之前也一直在使用kettle 以及weka。如果要进行自定义开发的话,我推荐几个网站:

Step 接口:

Stepmetalnterfacebasestepmeta

Stepdialoginterface base stepdialog step属性信息配置窗口

Stepinterface base step 处理row

Stepdatainterface base stepdata 为数据处理提高数据存储,保存中间处理数据

Job entry:

Jobentryinterface jobentrybase

Jobentrydialoginterface jobentruydialog jobentry 属性信息配置

Database接口

Databaseinterface

Basedatabasemeta访问各类数据库

http://download.csdn.net/detail/wenzhongwu/4201347
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: