当前位置:网站首页>kettle庖丁解牛第17篇之文本文件输出

kettle庖丁解牛第17篇之文本文件输出

2022-04-23 18:18:00 飞哥大数据

引言

在前面16篇文章中,我们详细的介绍了一些常用的输入组件。从本篇文章开始,我们主要讲解的是输出组件。

在本篇文章中,我们主要讲解的是:kettle中的文本文件输出。

转换

转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。

创建转换

我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。

kettle庖丁解牛第17篇之文本文件输出_excel输入

kettle庖丁解牛第17篇之文本文件输出_kettle_02

保存转换

kettle庖丁解牛第17篇之文本文件输出_作业_03

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

kettle庖丁解牛第17篇之文本文件输出_转换_04

kettle庖丁解牛第17篇之文本文件输出_转换_05

文本文件输出

可通过此组件,将数据流输出到文本文件中保存。

kettle庖丁解牛第17篇之文本文件输出_转换_06

kettle庖丁解牛第17篇之文本文件输出_excel输入_07

a、文件名称指定

1、文件标签,指定输出数据保存到本地的哪个文件中,点击“浏览”按钮,浏览本地的磁盘位置,然后手工写上txt文件名。

kettle庖丁解牛第17篇之文本文件输出_作业_08

kettle庖丁解牛第17篇之文本文件输出_excel输入_09

kettle庖丁解牛第17篇之文本文件输出_作业_10

kettle庖丁解牛第17篇之文本文件输出_文本文件输出_11

2、选项说明

选项

描述

文件名称

输出文件名。

输出传递到servlet

勾选后,所有输出将导向Servlet字符输出流,而不是持久化文件。可以想像为文件中的内容重定向到了服务器端的一个Web地址。而使用此步骤的转换,可能通过Carte或者DIServer的远程服务来启动,这样转换的执行容器就变成了一个Servlet,所有此步骤的输出都将重定向到该Servlet的字符输出流中。

创建父目录

勾选后将根据“文件名称”中的路径自动创建父目录

启动时不创建文件

勾选后在转换开始时不会生成文件。

从字段中获取文件名

在输入流中使用第7个控件“文件名字段”中的数据作为输出文件名,勾选后下面的“文件名字段”将变为可选状态。

文件名字段

指定输入流中包含文件名的字段。

扩展名

指定输出文件名的扩展名。

文件名包含步骤数

当输出步骤设置为多线程执行时,则自动生成从“0”开始计数的步骤号。

文件名里包含数据分区号

如果勾选,在当前步骤使用分区模式时,文件名称中包含分区的ID。

文件名里包含日期

勾选此项,生成文件名会包含年、月、日。

文件名里包含时间

勾选此项,生成文件名会包含时、分、秒。

指定日期时间格式

勾选后,控件“日期时间格式”将变为可用,并按照选定的日期格式生成文件名后缀。

日期时间格式

时间格式下拉框,将根据选取的格式生成文件名后缀。

显示文件名

预览生成的文件名。

结果中添加文件名

勾选此项,可把转换的结果文件名存进流中,使其可以在后续步骤中被获取。

b、内容指定

kettle庖丁解牛第17篇之文本文件输出_作业_12

选项说明

选项

描述

追加方式

是否在指定的文件最后追加行。

分隔符

指定在文本中分隔字段的字符,例如;或者制表符。

封闭符

封闭字段的一对字符。可选。

强制在字段周围加封闭符

在每列数据的两侧都加上封闭符

禁用封闭符修复

禁用封闭符修复

头部

如果你想有一个头部行,使这个选项可用(文件第一行)。

尾部

如果你想有一个尾部行,使这个选项可用(文件最后一行)。

格式

DOS 或者UNIX。UNIX 文件行分隔符是换行符。DOS 文件可以是换行符或者回车符。

压缩

指定压缩的类型(zip 或者gzip)。

编码

指定文件使用的编码。如果空白就使用系统缺省的编码。

字段右填充或裁剪

在字段最后添加空格或者删除字符,直到长度达到指定。

快速数据存储(无格式)

当处理大量数据到一个文本文件时,提高性能。(不包含任何格式化信息)。

分拆…每一行

如果N 比0 大,用N 行拆分文本文件,分割成多个部分。

增加文件结束行

指定输出文本的结束行。

c、字段

设定要导出的字段。

kettle庖丁解牛第17篇之文本文件输出_excel输入_13

下面是标签的选项列表

选项

描述。

名称

设置要在输出流中显示的字段名称。

类型

字段类型(StringDateNumber 等)。

格式

控制输入数据的格式(整数、有小数位、日期格式等)

长度

对于Number:有效数的数量。

对于String:字符的长度。

对于Date:打印输出字符的长度(例如4 代表返回年份)。

精度

对于Number:浮点数的数量。

对于String,Date,Boolean:未使用。

货币

用来解释如$10,000.00 的数字。

小数

小数点可以是”.(10;000.00)或者”,(5.000,00)

分组

分组可以是”.(10;000.00)或者”,(5.000,00)

去除空字符串方式

处理之前先去空。

Null

空值如何处理。

好了,关于文本文件输出组件的每一个标签页,我都尽可能的讲解了一下。其实我日常工作中,并没有使用到这么多,常用的也就是那么几个。但是我们学习过程中,我还是讲得全一些吧,希望大家花一次时间学习,尽可能都有个大概的了解吧。下面我们实例操作一下吧,这样大更好的吸收和理解。

实战演示

我们要演示从excel文件中读取数据,然后通过文本文件输出组件,把数据最终保存在txt文件中

a、创建excle文件

我在D盘下,创建一个xlsx文件,命名为bigdata。在sheet1中设计数据,第1行是文件表头,从第2行开始是数据,此文件有2列数据.。

kettle庖丁解牛第17篇之文本文件输出_excel输入_14

b、创建转换

kettle庖丁解牛第17篇之文本文件输出_作业_15

c、Excel输入设置

增加Excel文件做为数据源

kettle庖丁解牛第17篇之文本文件输出_转换_16

kettle庖丁解牛第17篇之文本文件输出_转换_17

kettle庖丁解牛第17篇之文本文件输出_excel输入_18

kettle庖丁解牛第17篇之文本文件输出_转换_19

指定工作表

kettle庖丁解牛第17篇之文本文件输出_kettle_20

kettle庖丁解牛第17篇之文本文件输出_作业_21

指定字段

kettle庖丁解牛第17篇之文本文件输出_文本文件输出_22

kettle庖丁解牛第17篇之文本文件输出_转换_23

d、excle数据预览记录

kettle庖丁解牛第17篇之文本文件输出_转换_24

kettle庖丁解牛第17篇之文本文件输出_kettle_25

kettle庖丁解牛第17篇之文本文件输出_文本文件输出_26

e、文本文件输出组件

kettle庖丁解牛第17篇之文本文件输出_作业_27

使用鼠标左键点击 Excel输入组件,按住shift键,从Excel输入组件拖拽到文本文件输出组件,拖拽后的效果如下图:

kettle庖丁解牛第17篇之文本文件输出_转换_28

f、文本文件输出设置

kettle庖丁解牛第17篇之文本文件输出_转换_29

kettle庖丁解牛第17篇之文本文件输出_kettle_30

kettle庖丁解牛第17篇之文本文件输出_excel输入_31

h、运行转换

kettle庖丁解牛第17篇之文本文件输出_作业_32

kettle庖丁解牛第17篇之文本文件输出_转换_33

kettle庖丁解牛第17篇之文本文件输出_文本文件输出_34

kettle庖丁解牛第17篇之文本文件输出_kettle_35

i、验证结果文件

kettle庖丁解牛第17篇之文本文件输出_kettle_36

结束语

本篇文章主要讲解了:文本文件输出组件的各种详细设置,最后实战演示了,从excel文件中读取数据,然后通过文本文件输出组件,把数据最终保存在txt文件中。

兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。

啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!

版权声明
本文为[飞哥大数据]所创,转载请带上原文链接,感谢
https://blog.51cto.com/51power/5248688