题目要求:
1.新建一张数据表名为Personnel_Information,该表记录了员工的性别、身高、体重及健康值,包含字段USERID、GENDER、HEIGHT、WEIGHT、INDEX(其中USERID为整形,其余为字符串类型,INDEX表示健康值)。新建转换名为data_consistency,完成数据一致性处理,添加“表输入”、“值映射”、“插入/更新控件”,将GENDER字段中的Male和Female转换成数字0和数字1,然后将转换完的数据存储到新数据表Personnel_Information_New中(表结构和前者相同)。
2.新建一项作业名为data_consistency_job,包含控件“Start”、“转换”,设置定时器时间间隔为5秒,使得转换data_consistency每5秒自动执行一次,从而实现数据同步操作。
3.新建转换名为data_validation,完成数据规范化处理,要求商品日期不能在2019年1月1日之前,产品名称必须小写,单价不能超过10。包含控件“自定义常量数据”、“计算器”、“数据检验”、“空操作1”、“空操作2”、“Excel输出1”、“Excel输出2”。在“自定义常量数据”控件中设置四个字段名为Date、Name、Number、Sales,数据类型分别为(Date(yyyy-MM-dd)、String、Integer、Number),添加5条测试数据如下:
(2019-02-01,chocolate,23,184)
(2019-01-23,potatochips,6,330)
(2019-04-01,instantnoodles,13,39)
(2019-03-01,CANDY,56,72.8)
(2018-12-26,biscuits,1122,7068.6)
在“计算器”控件中计算商品单价(Sales/Number),并将计算结果命名为新字段UnitPrice,之后在“数据检验”控件中添加三个检验条件分别为date_verify(对Date字段检验,,其中错误代码设置为D001,错误描述为date_error)、name_verify(对name字段检验,其中错误代码设置为N001,错误描述设置为name_error)、price_verify(对price字段检验,其中错误代码设置为P001,错误描述设置price_error)。将结果分为两部分输出(注意:输出方式为分发),其中满足条件的输出到“空操作1”控件,并保存到Excel1文件中,不满足条件的输出到“空操作2”控件,并保存到Excel2文件中。
目录
一、Kettle的基本操作
1、表输入
①连接数据库
②注意加分号
2、值映射
3、插入 / 更新
注意:目标表“Personnel_Information_New”结构,需要提前创建
四、运行,检验
二、数据一致性处理
1、START
2、转换
3、运行
将数据表“Personnel_Information_New”清空记录后,刷新,记录就会恢复。若失败,重新做一遍以上操作。
三、数据规范化处理
1、自定义常量数据
创建表结构
数据记录
2、计算器
3、数据检验
4、Excel输出
5、Excel输出 2
6、运行,检验