Kettle工具实现CSV文件的抽取和JSON文件的数据抽取

使用kettle工具前需要做的准备:

        因为本次实验是将CSV文件和JSON文件中的数据保存至数据库的数据表中,所以在此之前需要在数据库中建立一个数据库及两个数据表。

       使用命令行建立数据库、数据表过程如下:

mysql -u root -p    -- 回车后需要输入你的数据可以密码

/*进入MySQL后开始建库建表*/

mysql> create database extract;   -- 新建一个名为extract的数据库
mysql> use extract;   -- 使用该库
Database changed     -- 此为系统回复
mysql> create table csv   -- 新建一个名为csv的表
    -> (
    -> CustomerID int,
    -> Gender char(8),
    -> Age int,
    -> Annual_Income int,
    -> Spending_Score int
    -> );
Query OK, 0 rows affected (0.16 sec) -- 此为成功创建表
mysql> create table json(id int, field int, value char(20)); --新建一个名为json的表
Query OK, 0 rows affected (0.12 sec) -- 此为成功创建表

/*"->"为换行符标识,";"为命令终止符,创建表是换行不换行都可以。
换行可以有助于建表时出现错误时更快找到*/

 查看创建的csv表(json表这里就不查了,有个例子就行):

 

一、CSV文件的抽取

1.创建转换

        使用kettle工具创建一个转换csv_extract,并添加“CSV文件输入”控件和“表输出”控件,建立连接(左键框起,右键选择新建节点连接),如图1-1所示。

图1-1 创建转换csv_extract

2.配置控件

         双击“CSV文件输入”控件,进入界面,点击文件名后的“浏览”按钮选择要抽取的csv格式文件。点击“获取字段”按钮,kettle自动检索CSV文件点击,效果如图1-2所示。然后点击“预览“按钮,查看文件数据是否抽取到CSV文件输入流中,具体效果如图1-3所示。关闭预览数据,点击”确定“。

 图1-2 获取字段

图1-3 预览数据

        现在配置“表输出”控件。

        双击“表输出控件”,点击数据库连接“新建”按钮,具体配置如1-4所示。

 

图1-4 MySQL数据库连接的配置

         单击目标表的“浏览”按钮,选择extract中的csv表,如1-5所示。然后勾选“指定数据库字段”复选框,用于数据表字段与文件字段相匹配。

图1-5 目标表浏览

        然后选择“数据库字段”选项卡,点击“输入字段映射”按钮,给源字段和目标字段做匹配,用Add(A)按钮加入到映射(可用猜一猜自动实现映射),然后点击“确定”,具体如图1-6所示。

图1-6 映射匹配

         完整配置如1-7所示,配置完成点击“确定”。

 

图1-7 “表输出”控件配置效果

 3.运行与查看

         单击左上角的三角按钮,运行创建的转换csv_extract,将csv文件数据保存在数据表csv中,执行如图1-8所示。

图1-8 转换csv_extrac的执行

        查看数据表csv中的数据。打开MySQL Workbench,输入 select * form extract.csv;  按“Ctrl+Enter”执行,结果如1-9所示。

 

 图1-9 MySQL Workbench查看csv表数据

 

二、JSON文件的数据抽取

        JSON是一种轻量级的数据交换格式,也是一种文本数据交换格式。

1.创建转换

        创建转换json_extracct,并添加JSON input控件、“表输出”控件,连接起来,如2-1图所示。

图2-1 创建转换json_extract

2.配置控件

        首先进入“JSON input”控件界面,点击文件或路径旁的“浏览”按钮,选择要抽取的JSON文件。然后点击“增加”按钮,具体效果如图2-2所示。

图2-2 JSON输入界面

         然后选择“字段”,添加要抽取的数据字段,配置如图2-3所示。

图2-3 字段配置

         完成“JSON input”控件配置。

        现在进入“JSON input2”控件。勾选“源定义在一个字段里?”复选框,从“字段获取源”的下拉列表中选择字段名,即data。之后,选择“字段”,添加要抽取的数据字段,配置如图2-4所示。

图2-4 字段配置

         点击确定,完成配置。

        现在配置“表输出”控件。选择“表输出控件”,点击数据库连接“新建”按钮,具体配置如2-5所示。

图2-5 MySQL数据库连接的配置

         目标表“浏览”选择数据表json。单击“输入字段映射”按钮,配置如2-6所示。“表输出”的具体配置如图2-7所示。

图2-6 映射匹配

图2-6 “表输出”控件配置

3.运行与查看

        单击左上角的三角按钮,运行创建的转换json_extract,将json文件数据保存在数据json中,执行如图2-7所示。

图2-7 转换json_extrac的执行

        查看数据表json中的数据。打开MySQL Workbench,输入 select * form extract.json;  按“Ctrl+Enter”执行,结果如图2-8所示。

 

图2-8 MySQL Workbench查看json表数据

 实验参考:《数据清洗》黑马程序员/编著

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值