引言

上一篇文章中,讲解的是:我工作中遇到的一个实际案例,我们要周期性的从上游mysql数据库中抽取数据到本地hive库中,每次抽取的是最近6个月的数据。hive中的目标表是按月做的分区,把最近6个月的数据分6次循环插入覆盖到对应的分区中。

在本篇文章中,我们接着介绍:kettle中的Add XML组件

转换

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

创建转换

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

kettle庖丁解牛第34篇之常用转换组件之Add XML _转换

kettle庖丁解牛第34篇之常用转换组件之Add XML _大数据_02

保存转换

kettle庖丁解牛第34篇之常用转换组件之Add XML _大数据_03

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

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_04

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_05

Add XML

可通过此组件将读取的数据内容,按照指定的设置,生成XML文件的格式数据。

kettle庖丁解牛第34篇之常用转换组件之Add XML _转换_06

kettle庖丁解牛第34篇之常用转换组件之Add XML _kettle_07

a、内容

1、对未来生成的xml进行基本设置

kettle庖丁解牛第34篇之常用转换组件之Add XML _转换_08

2、下面是标签的选项列表

选项

描述

​编码

指定未来生成的xml的编码

​Output Value

将读取的数据内容,生成xml文件格式后,它会以一个新字段名来传送到下一组件,这个新字段的名字在此设置

​omit xml header

省略xml头

​omit null value from xml result

从xml结果中省略空值

b、字段

1、设定生成XML文件格式的属性。

kettle庖丁解牛第34篇之常用转换组件之Add XML _转换_09

2、下面是标签的选项列表

选项

描述。

​字段名

读入的源数据的字段名

Element name

生成的xml中的属性名

类型

字段类型(StringDateNumber 等)。

格式

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

长度

对于Number:有效数的数量。

对于String:字符的长度。

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

精度

对于Number:浮点数的数量。

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

​Currency

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

​Decimal

进制

​数字分组符号

​数字分组符号

​属性

​属性

​Attribute parent name

父级属性名

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

实战演示

我们把txt文件中的内容,通过Add XML组件设置后,生成一个XML文件格式的数据,然后通过文本文件输出组件进输出。

kettle庖丁解牛第34篇之常用转换组件之Add XML _kettle_10

a、创建txt文件

我在D盘下,创建一个txt文件,命名为:文本数据。第1行是文件表头,从第2行开始是数据。此文件有3列数据,每1列通过";"分割。我使用的分割符,它是英文的。你要注意你的分割符,它是中文的?还是英文的?

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_11

b、创建转换

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_12

c、文本文件输入设置

kettle庖丁解牛第34篇之常用转换组件之Add XML _大数据_13

kettle庖丁解牛第34篇之常用转换组件之Add XML _转换_14

kettle庖丁解牛第34篇之常用转换组件之Add XML _大数据_15

d、预览记录

kettle庖丁解牛第34篇之常用转换组件之Add XML _转换_16

kettle庖丁解牛第34篇之常用转换组件之Add XML _数据集成_17

kettle庖丁解牛第34篇之常用转换组件之Add XML _数据集成_18

兄弟们,看到这个预览数据的界面,证明你已经成功的通过文本文件输入组件,把你磁盘上的一个txt文件,读取进来了。

e、Add XML设置

kettle庖丁解牛第34篇之常用转换组件之Add XML _kettle_19

kettle庖丁解牛第34篇之常用转换组件之Add XML _大数据_20

f、文本文件输出

kettle庖丁解牛第34篇之常用转换组件之Add XML _数据集成_21

kettle庖丁解牛第34篇之常用转换组件之Add XML _数据集成_22

g、运行转换

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_23

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_24

kettle庖丁解牛第34篇之常用转换组件之Add XML _Add XML_25

kettle庖丁解牛第34篇之常用转换组件之Add XML _kettle_26

h、验证结果文件

kettle庖丁解牛第34篇之常用转换组件之Add XML _大数据_27

可以看到此处构造的xml格式的数据,正好是我们利用文本文件输入的数据生成,到此就结束了。

结束语

本篇文章主要讲解了:Add XML组件的各种详细设置,实战演示了如何操作它来读取磁盘上的txt文件,然后生成XML格式的数据。

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

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