| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 使用kettle工具抽取CSV文件和json文件 -> 正文阅读 |
|
[大数据]使用kettle工具抽取CSV文件和json文件 |
???? 在进行转换之前我们需要建立好数据库,并在数据库下建立数据表。那如何建立数据库和数据表呢,有两种方式,可以在cmd界面里创建,也可以在SQLyog图形化界面里创建。 这里演示一下从cmd里创建数据库:win+R打开cmd命令提示符,找到你下载的mysql所在的地址,输入cd空格地址转换到mysql下工作,再输入mysql -u root -p,然后输入密码,就可以创建数据库了,输入create database extract;创建数据库,创建的数据库名称是extract。如下图所示。 ?打开SQLyog,连接创建好的数据库,并给数据库连接一个名称(自己取并记住) 在extract数据库下打开表,选择新建一个数据表CSV,等会抽取CSV文件的时候要用到。创建表时要根据自己的表数据的属性创建。 表创建好之后点击保存即可。 下面打开kettle点击“文件”→“新建”→“转换”创建一个转换,点击“文件”→“保存”给转换命名为csv_extract。并添加“csv文件输入”和“表输入”,再建立节点连接。 双击“csv文件输入”进入界面。点击“浏览”选择需要抽取的文件,点击“获取字段”,自动检索csv文件,点击“预览”查看文件csv_extract.csv文件是否抽取到csv文件输入流中。如下图 点击确定完成“csv文件的输入”。双击“表输出”进入界面,点击“新建”进入mysql数据库连接的配置,如下图 点击“确认”完成配置。在目标表右侧选择extract数据库下建的csv数据表 ?点击“数据库字段”,“输入字段映射”,将字段一一对应点击add“”进行映射。点击“确定”,如出现如下界面,则“表输入”完成。 点击运行,如下图所示则运行成功。 打开SQLyog查看csv文件是否成功插入数据。如下图。 ?到这里,csv文件的抽取就完成了。 接下来说一下JSON文件的抽取:数据库我们在最开始已经建好了,接下来我们还需要在extract数据库下建一个json数据表,操作和上面相同,下图是建好的数据表。 注意选择数据的类型和定义的长度。建立完成后打开kettle建立一个json_extract转换。并添加两个“JSON input“和“表输出”,建立Hop跳连接线。如下图。 ? 双击第一个“JSON input”进入界面。点击“浏览”选择相应的文件,再点击“增加”将所选择的文件添加到“选中的文件”处。 ? 点击“字段选项卡”,进入界面,采用分层抽取数据字段,先抽取id和data,再从id字段中抽取field和value字段。 点击“确定”完成JSON input控件的配置。 双击JSON input 2进入界面,勾选“源定义在一个字段里?”复选框,再“从字段获取源”处选择data。如图。 点击“字段”进入字段选项卡界面,添加从data字段抽取的field和value字段。 点击“确定”完成配置。 双击“表输出”进入界面。 ? 点击“新建”连接数据库连接。这里连接数据库连接同上,点击新建进入界面,将数据库连接配置好。 点击“目标表”右侧的浏览选择我们前面在extract数据库下创建好的数据表json,如下图。 点击“数据库字段”,选择“输入字段映射”进入映射匹配对话框。一次选择“源字段”中的字段和“目标字段”中的字段一一对应点击“add”进行映射匹配。匹配完成后点击“确定”按钮。若显示以下界面则“表输出”的配置完成。 点击运行如果成功会出现以下界面。 打开SQLyog工具查看数据表json是否成功插入数据,若出现以下界面,则成功插入。 以上就是用kettle工具实现抽取CSV文件csv_extract.csv中的数据保存至数据库extract中的数据表csv中和抽取JSON文件中的json_extract.js中的数据保存至数据库extract中的数据表json中。 我们需要注意数据库的建立,数据库的连接以及数据表的建立。在SQLyog图形界面中实现这些操作会比cmd字符命令界面简洁许多。数据库和数据库连接是不同的,两者在命名时应注意一下,也可以将两者命名为相同的名字。在使用kettle时应注意一些细节操作,例如数据库的连接等。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 14:46:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |