kettle庖丁解牛第5篇之文本文件输入

幼敏悟过人,读书辄成诵。这篇文章主要讲述kettle庖丁解牛第5篇之文本文件输入相关的知识,希望能为你提供帮助。
引言上一篇文章中,我们介绍了kettle这款软件的主要界面,让大家对kettle有了一个大体的印象。本篇文章我们来讲解组件:文本文件输入
转换转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。
创建转换
我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。


保存转换

给你新建的转换,起个名字,并保存


文本文件输入可通过此组件读取大量不同的文本文件,可指定读取的文件列表,或者用正则表达式表示的目录列表,适用于读取txt与csv文件。


a、文件名称指定
1、文件标签指定数据源文件,点击“浏览”按钮,浏览本地的txt文件。点击"增加"按钮,你可以添加一个文件到"选择文件"中,如下所示:




2、你也可以用指定正则表达式通配符的形式来搜索文件。正则表达式比简单的用"?"和"*" 通配符更有效。

文件名
正则
选择的文件
/dafeige/
.*userdata.*/.txt
所有在/dafeige/目录下的并且文件名包含userdata、以txt为后缀的文件。
/dafeige/
AAA.*
所有在/dafeige/目录下的并且文件名以AAA 开头的文件。
/dafeige/
[A-Z][0-9].*
所有在/dafeige/目录下的并且文件名以字母开头、紧接着一个数字的文件。

b、内容指定
【kettle庖丁解牛第5篇之文本文件输入】1、内容标签允许你指定正在读取的文本文件的格式

2、下面是标签的选项列表
选项
描述
文件类型
可以是CSV 或者Fixed length(固定长度)。
分隔符
在文本的单行中,一个或多个字符将被用来分隔字段,
比较有代表性的是; 或者一个tab 制表符。
文本限定符
一些字段能够被一对允许分隔的字符来封闭。封闭字符
串是可选的。
逃逸字符
如果你的数据中有逃逸字符,就指定逃逸字符(或者逃
逸字符串)。如果\\作为逃逸字符,文本’Not the nine
o\\’clock news.’(’作为封闭字符),将被解析成Not
the nine o’clock news.
头部/头部行数量
如果你的文本文件有头部行就使用这个。你可以指定头
部行出现的次数。
尾部/尾部行数量
如果你的文本文件有尾部行就使用这个。你可以指定尾
部行出现的次数。
包装行/包装行数量
利用这个来处理被某些页限制包装的数据行。注:头部
和尾部从来不考虑被包装。
分页布局/每页行数/文档头部行
在行打印机上打印的时候,你可以用这个选项作为最终
的手段。用头部行的数量来跳过介绍性的文本,用每页
的行数来定位数据行。
压缩
如果你的文件是ZIP 文件或者GZIP 归档文件,就启用
这个。注:此刻归档文件中仅仅第一个文件被读取。
没有空行
不往下一步发送空行。
文件名字段名称
包含文件名的字段名称。
输出包含行数
如果你想行数作为输出的一部分,可以启用这个。
行数字段名称
包含行数的字段名称。
根据文件获取行数
允许每个文件重置的行数。


格式
可以是DOS、UNIX 或者混合模式。UNIX 行终止可以是
回车,DOS 中可以是回车或者换行。如果你选择混合模
式,将不会验证。
编码方式
指定文本文件编码方式。如果不设置就使用系统默认的
编码方式。如果想用Unicode,可以指定UTF-8 或者
UTF-16。第一次使用的时候,Spoon 将搜索系统,寻找
可用的编码。
记录数量限制
设置读取记录的行数。0 代表读取所有的。
解析日期时是否严格要求
如果你想严格的解析数据字段,可以禁用这个选项。如
果启用的时候,Jan 32nd 将变成Feb 1st。
本地日期格式
在本地日期常常被解析为“February wnd,2006”的形
式,在用法语本地化的系统中日期将不会被解析,因为
在法语本地化中February 不能理解。
添加文件名
如果你想文件名作为输出的一部分,可以启用这个。
c、错误处理
当错误发生的时候,错误处理标签允许你指定这个步骤将重新做些什么。

下面是标签的选项列表
选项
描述
忽略错误
如果在解析的时候忽略错误,就指定这个选项。
忽略错误文件
使用这个选项来跳过那些出现错误的文件。
错误文件字段名
在输出流行中增加一个字段,这个字段将包含错误发生的文件字段名。
文件错误信息字段名
在输出流行中增加一个字段,这个字段将包含错误发生的文件信息
跳过错误行
使用这个选项来跳过那些出现错误的行。你可以生成另外的文件来包含发生错误的行号。如果不跳过错误行,解析错误字段将是空的。
错误计数字段
在输出流行中增加一个字段,这个字段将包含错误发生的行数。
错误字段文件名
在输出流行中增加一个字段,这个字段将包含错误发生的文件名。
错误文本字段名
在输出流行中增加一个字段,这个字段将包含解析错误发生字段的描述。
告警文件目录
当警告发生的时候,它们将被放进这个目录。文件名将是< 警告目录> /文件名.< 日期时间> .< 警告文件扩展> 。
错误文件目录
当错误发生的时候,它们将被放进这个目录。文件名将是< 错误文件目录> /文件名.< 日期时间> .< 错误文件扩展> 。
失败行数文件目录
当解析行的时候发生错误,行号将被放到这个目录。文件名将是< 错误行目录> /文件名.< 日期时间> .< 错误行扩展> 。
d、过滤
在过滤标签中,你可以指定文本文件中要过滤的行。

下面是标签的选项列表
选项
描述
过滤字符
搜索字符串。
过滤位置
在行中过滤字符串必须存在的位置。0 是起始位置,如果你指定一个小于0 的值,过滤器将搜索整个字符。
停止在过滤器
如果你想在文本文件遇到过滤字符的时候,停止处理,就指定Y。
积极匹配
是: 将符合过滤器的数据保留, 否: 不保留符合过滤器的数据
e、字段
设定要导入的字段。

下面是标签的选项列表
选项
描述。
名称
设置要在输出流中显示的字段名称。
类型
字段类型(String、Date、Number 等)。
格式
控制输入数据的格式(整数、有小数位、日期格式等)
位置
不用管它
长度
对于Number:有效数的数量。
对于String:字符的长度。
对于Date:打印输出字符的长度(例如4 代表返回年份)。
精度
对于Number:浮点数的数量。
对于String,Date,Boolean:未使用。
货币类型
用来解释如$10,000.00 的数字。
小数
小数点可以是”.”(10; 000.00)或者”,”(5.000,00)。
分组
分组可以是”.”(10; 000.00)或者”,”(5.000,00)。
Null If
空值如何处理。
默认
字段为空的时候的默认值。
去空字符串

    推荐阅读