用kettle实现csv和json文件的抽取

一.抽取CSV文件csv_extract.csv中的数据保存至数据库extract中的数据表csv中。

***首先准备好一个CSV文件csv_extract.csv如下图所示:***在这里插入图片描述
1.打开kettle工具,创建转换
使用kettle工具创建一个转换csv_extract,并添加“CSV文件输入”控件、“表输出”控件以及Hop跳连接线,用于实现CSV文件数据的抽取功能,具体效果如下图所示:在这里插入图片描述
2.配置“CSV文件输入”控件
(1)单击“CSV文件输入”控件,进入“CSV文件输入”界面,单击“浏览”按钮,选择要抽取的文件csv_extract.csv,如下图所示:在这里插入图片描述
(2)单击“获取字段”按钮,kettle自动检索CSV文件,并对文件中的字段类型、格式、长度、精度等属性进行分析,如下图所示:在这里插入图片描述
(3)单击“预览”按钮,查看文件csv_extract.csv的数据是否抽取到CSV文件输入流中,如下图所示:在这里插入图片描述
从图中可以看出,CSV文件csv_extract.csv的数据已经成功抽取到CSV文件输入流中,单击“关闭”->“确定”按钮,完成“CSV文件输入”控件的配置。
3.配置“表输出”控件
(1)双击“表输出”控件,进入“表输出”界面,单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮,如下图所示:在这里插入图片描述
(2)单击目标表右侧的“浏览”按钮,选择输出的目标表,即数据表csv;勾选“指定数据库字段”复选框,用于将数据表csv的字段与CSV文件csv_extract.csv中的字段进行匹配,如下图所示:在这里插入图片描述
(3)选择“数据库字段”选项卡,单击“输入字段映射”按钮,弹出“映射匹配”对话框,如下图所示:在这里插入图片描述
(4)依次选中“源字段”中的字段和“目标字段”中的对应字段,再单击Add按钮,将一对映射字段添加至“映射”框中,若“源字段”中的字段和“目标字段”中的字段相同,则可以单击“猜一猜”按钮,让kettle自动实现映射,如下图所示:在这里插入图片描述
(5)单击“确定”按钮,“表输出”控件的配置完成。
4运行转换csv_extract
单击转换工作区顶部的运行按钮,运行创建的转换csv_extract,实现将CSV文件中的数据抽取到数据表csv中,如下图所示:在这里插入图片描述
从执行结果的“步骤度量”可以看出,“CSV文件输入”控件输入101条数据并写入该控件100条数据(其中有一条数据为表头数据),而“表输出”控件读取“CSV文件输入”控件中的100条数据并写入该控件,最终进行输出。也就是说,“表输出”控件将从CSV文件输入流中读取的100条数据均写入数据表csv中。
5.查看数据表csv中的数据
从下图中可以看出,数据表csv中已插入数据,说明已经成功实现了将CSV文件csv_extract.csv中的数据抽取到数据表csv中。在这里插入图片描述

二.抽取JSON文件json_extract.js中的数据保存至数据库extract中的数据表json中。

首先准备好一个JSON文件,名为json_extract.json,如下图所示:在这里插入图片描述
1.打开kettle工具,创建转换
使用kettle工具创建转换json_extract,并添加“JSON input”控件、“表输出”控件以及Hop跳连接线,用于实现抽取JSON文件中key值为id、field和value的数据,并保存至数据表json中,如下图所示:在这里插入图片描述
2.配置JSON input控件
(1)双击JSON input控件,进入“JSON输入”界面,单击“浏览”按钮,选择要抽取的JSON文件json_extract.json,如下图所示:在这里插入图片描述
(2)单击“增加”按钮,将所选择的文件添加到“选中的文件”处,如下图所示:在这里插入图片描述
(3)单击“字段”选项卡,进入“字段”选项卡界面,添加要抽取的数据字段(这里采用分层抽取数据字段,先抽取id和data字段,再从data字段中抽取field和value字段),如下图所示:在这里插入图片描述
(4)单击“确定”按钮,完成JSON input控件的配置。然后双击JSON input2控件,进入“JSON输入”界面,勾选“原定义在一个字段里?”复选框;在“从字段获取源”后的下拉列表中选择字段名,如下图所示:在这里插入图片描述
(5)单击“字段”选项卡,进入“字段”选项卡界面,添加从字段data中抽取的field和value字段,具体配置如下图所示:在这里插入图片描述
(6)单击“确定”按钮,完成JSON input2控件的配置。
3.配置“表输出”控件
(1)双击“表输出”控件,进入“表输出”界面,单击“新建”按钮,配置数据库连接,配置完成后单击“确定”按钮,如下图所示:在这里插入图片描述
(2)单击目标表右侧的“浏览”按钮,选择输出的目标表,即数据表json;勾选“指定数据库字段”复选框,用于将数据表json的字段与JSON文件json_extract.json中的字段进行匹配,如下图所示:在这里插入图片描述
(3)单击“数据库字段”选项卡,进入“数据库字段”界面,单击“输入字段映射”按钮,弹出“映射匹配”对话框;依次选中“源字段”中的字段和“目标字段”中对应的字段,单击Add按钮,将一对映射字段添加至“映射”框中。若“源字段”中的字段和“目标字段”中的字段相同,则可以单击“猜一猜”按钮,让kettle自动实现映射,如下图所示:在这里插入图片描述
(4)单击“确定”按钮,“表输出”控件的配置完成。
4.运行转换json_extract
单击转换工作区顶部的运行按钮,运行创建的转换json_extract,实现将JSON文件中的数据抽取到数据表json中,如下图所示:在这里插入图片描述
从执行结果“步骤度量”可以看出,JSON input控件输入2条数据并写入该控件中;JSON input2控件读取JSON控件的2条数据,从这两条数据的data字段中共获取6条数据作为输入并写入该控件中;“表输出”控件读取JSON input控件的两条数据,从这两条数据的data字段中共获取6条数据作为输入并写入该控件中。也就是说,“表输出”控件从JSON input2流中读取的6条数据均写入数据表json中。

三.在抽取CSV文件和抽取JSON文件的过程中使用到的控件有:

抽取CSV文件:

CSV文件输入输入控件
表输出输出控件

抽取JSON文件:

JSON input输入控件
JSON input 2输入控件
表输出输出控件
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值