目录
一、抽取CSV文件csv_extract.csv中的数据保存至数据库extract中的数据表csv中。
二、抽取JSON文件json_ extract.js 中的数据保存至数据库extract 中的数据表json中。
一、抽取CSV文件csv_extract.csv中的数据保存至数据库extract中的数据表csv中。
1)打开Kettle工具,创建转换
使用Kettle工具创建一个转换csV_ extract,并添加"CSV文件输入”控件、“表输出”物件以及Hop跳连接线,用于实现CSV文件数据的抽取功能
2)配置“CSV文件输入”控件
双击“CSV文件输入控件”,进入“CSV文件输入”界面。
单击浏览按钮,选择要抽取的文件csv_extract.csv
单击“获取字段"按钮,Kettle自动检索CSV文件,并对文件中的字段塞型、格式、长度、精度等属性进行分析
单击“预览”按钮,查看文件CSV_ extract. csv的数据是否抽取到csv文件输人流中
CSV文件CSV_ extract. CSV的数据已经成功抽取到CSV文件输人流中,单击“关闭”→“确定”按钮,完成“CSV文件输人”控件的配置。
3)配置“表输出"控件
双击“表输出”控件,进入“表输出”界面
单击“新建”按钮,配置数据库连接(所连接的数据库extract 需提前创建),配置完成后单击“确认”按钮。
单击目标表右侧的“浏览”按钮,选择输出的目标表,即数据表csv_ extract(该表需提前创建,且表结构需根据CSV文件csv_ extract. csv中数据的字段和数据类型进行创建,这里不演示);勾选“指定数据库字段”复选框,用于将数据表csv的字段与CSV文件csv_extaet. csv中的字段进行匹配
选择“数据库字段”选项卡
单击“输人字段映射”按钮,弹出“映射匹配”对话框。依次选中“源字段”中的字段和“目标字段”中的对应字段,再单击Add(A)按钮,将一对映射字段添加至“映射”框中。
4)运行转换csv_extract
单击转换工作区顶部的运行按钮运行创建的转换csv. etrat实现将csv文件中的数据抽取到数据表csv中从执行结果的“步骤度量”可以看出,表输出"控件将从CSV 文件输人流中读取的100条数据均写人数据表csv中。
5)查看数据表csv中的数据
通过SQLyog工具,查看数据表csv是否已成功插人100行数据。数据表csv中已插人数据(这里只展示数据表中的部分数据),说明我们成功实现了将CSV文件csv_ extract. csv中的数据抽取到数据表csv中,结果如图。
二、抽取JSON文件json_ extract.js 中的数据保存至数据库extract 中的数据表json中。
1)打开Kettie工具,创建转换
使用Kettle工具创建转换json_ extract,并添加 JSON input控件、“表输出”控件的Hop跳连接线,用于实现抽取JSON文件中key值为id、field和value 的数据,并保存据表json中
2)配置JSON input控件
①双击JSON input控件,进入“JSON输入”界面
单击“浏览”按钮,选择要抽取的JSON文件json _extract. json
单击“增加”按钮,将所选择的文件添加到“选中的文件”处
单击“字段”选项卡,进入“字段"选项卡界面
添加要抽取的数据字段(这里采用分层抽取数据字段,先抽取id和data字段,再从data字段中抽取field 和value字段)
单击“确定"按钮,完成JSONinput控件的配置
勾选“源定义在一一个字段里?”复选框;在“从字段获取源”后的下拉列表中选择字段名,即data
单击“字段"选项卡,进人“字段”选项卡界面,添加从字段data中抽取的field和value字段,单击“确定”按钮,完成JSONinput2控件的配置。
3)配置“表输出”控件
双击“表输出”控件,进入“表输出”界面
单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮。
单击目标表右侧的“浏览’按钮,选择输出的目标表,即数据表json;勾选“指定数据库字段”复选框,用于将数据表json的字段与JSON文件json_extract.json中的字段进行匹配
单击“数据库字段”选项卡,进入“数据库字段”选项卡的界面
单击“输入字段映射”按钮,弹出“映射匹配”对话框
依次选中“源字段”中的字段和“目标字段”中对应的字段,单击Add按钮,将一对映射字段添加至“映射”框中
单击“映射匹配”对话框中的“确定”按钮完成“表输出”控件的配置
4)运行转换json_ extract
单击转换工作区顶部的运行按钮,运行创建的转换json extract, 实现将JSON文件中的数据抽取到数据表json中
从执行结果的“步骤度量”可以看出,JSON input控件输人2条数据并写人该控件中;JSON input2控件读取JSON input 控件的2条数据,从这2条数据的data字段中共获取6条数据作为输人并写人该控件中;“表输出"控件读取JSON input控件的两条数据,从这两条数据的data字段中共获取6条数据作为输人并写人该控件中。也就是说.“表输出“控件从JSON input 2流中读取的6条数据均写人数据表json中
5)查看数据表json中的数据
通过SQLyog工具,查看数据表json是否已成功插入6条数据,结果如图