一.CSV文件的抽取
1.打开Kettle工具,创建转换 使用Kettle工具创建一个转换csv_extract,并添加“CSV文件输入”控件、“表输出”控件以及Hop跳连接线,用于实现CSV文件数据的抽取功能,具体效果如图4-1所示: 图4-1 创建转换csv_extract 2.配置“CSV文件输入”控件 双击图4-1中的“CSV输入控件”,进入界面,单击浏览按钮,选择要抽取的文件csv_extract.csv,具体如图4-2所示: 图4-2“CSV文件”输入界面 单击图4-2中的获取字段按钮,Kettle自动检索CSV文件,并对文件中的字段类型、格式、长度,精度等属性进行分析,具体效果如图4-3所示: 图4-3 获取字段 单击图4-3中的“浏览”按钮,查看文件csv_extract.csv的数据是否抽取到CSV文件输入流中,具体效果如图4-4所示: 图4-4 预览数据 从图4-4中我们可以看出,CSV文件csv_extract.csv已经成功的抽取到CSV文件输流中,单击“关闭”→“确定”按钮,完成CSV文件输入控件的配置。 3.配置表输出控件 双击图4-1中的表输出控件,进入表输出界面,按“新建”按钮配置数据库具体如图4-5所示: 图4-5 MySQL数据库连接的配置 数据库连接完成以后,单击右侧“浏览”按钮,选择要输出的目标表,即数据表csv_extract.csv。勾选“指定数据库字段”,用于将数据表csv的字段与CSV文件中的字段进行匹配。具体如图4-6所示: 4-7 指定输出的目标表 在图4-7中选择“数据库字段”选项卡,点击“输入字段映射”按钮,弹出“映射匹配”的对话框,具体如图4-8所示: 图4-8“数据库字段”选项卡 依次选中“源字段”中字段和“目标字段”中的字段,若“源字段”和“目标字段”中的字段相同,则可以单击“猜一猜”按钮,让Kettle实现自动映射,如图4-9所示: 图 4-9 设置映射匹配 (若是源字段与目标字段是不一致或者是出现field的情况请检查数据库有无连接好,再运行第一步CSV文件的配置(我当时是这么个情况) 单击确定,完成“表输出”控件的配置,具体效果如图4-10 所示: 图4-9 表输出界面 4.运行转换csv-extract,效果如图4-11: 图4-11 运行转换csv-extract
二.JSON文件的数据抽取
1.打开Kettle,创建转换 使用Kettle工具创建转换json_extract,并添加JSON input控件,“表输入”控件以及Hop跳连接线,具体效果如图4-12所示: 图4-12 创建转换json_extract 2.配置JSON input控件 双击JSON input控件,进入控件界面,如图4-13所示: 图4-13 “JSON”输入界面 单击“浏览”按钮,将所选择的文件添加到“选中的文件”处,具体效果如图4-14所示: 图4-14 选择所要抽取的JSON文件 单击“字段”选项卡,进入“字段”选项卡界面,添加要抽取的数据字段(这里采用分层抽取,先抽取id和data字段,再从data字段中抽取field和value字段),具体配置如图4-15所示: 图4-15 抽取id和data字段的配置 点击“确定”按钮,完成JSON input控件的配置。 双击4-12中的JSON input2 控件,进入“JSON输入”界面,并勾选“源定义在一个字段里?”复选框;“从字段获取源”后的下拉列表中选择字段名,即data,如图4-16所示: 图4-16 JSON 2输入界面 在4-16中添加从字段data中获取的field和value按钮,具体配置如图4-17所示: 4-17 配置抽取的field和value字段 点击“确定”按钮,完成JSON input2的配置,具体如图4-18所示; 图4-18 3.配置“表输出”控件 双击“表输出”控件,进入“表输出”界面,具体如图4-20所示: 图4-20 “表输出”界面 点击“新建”按钮,配置数据库连接(前面有配置过程,不再赘述),配置完成后单击“确认”按钮。具体如图4-21所示: 图4-21 指定输出的目标表 单击图4-21 中“数据库字段”进入“数据库字段”选项卡界面,单击“输入字段映射”按钮,弹出“映射匹配”对话框,如图4-22所示: 图4-22 映射匹配对话框 依次选择“源字段”中的字段和“目标字段”中的字段,单击“猜一猜”按钮,让Kettle自动实现映射,具体如图4-23所示: 图4-23 设置映射匹配 完成的“表输出”控件的配置如图4-24所示: 图4-24 “表输出”界面最终展示的效果 4.运行转换json_extract 运行转换json_extract 界面如图4-25所示: 图4-25 运行转换json_extract 以上就是简单的csv文件抽取和json文件抽取的过程。
|