栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据清洗 黑马程序员 第四章数据抽取——阅读笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据清洗 黑马程序员 第四章数据抽取——阅读笔记

4.1 抽取文本数据

在实际应用中,常用的文本文件类型有两种,分别是TSV文件和CSV文件。

4.1.1 TSV文件的抽取

1.打开Kettle工具,创建转换
使用Kettle工具创建一个转换tsv_extract,添加“文本文件输入”控件、“表输出”控件以及Hop跳连接线,用于实现TSV文件数据的抽取功能,具体如下图1所示:

图1 创建转换tsv_extract
2.配置“文本文件输入”控件
双击图1中的“文本文件输入”控件,进入“文本文件输入”界面,单击“浏览”按钮,选择要抽取的文件tsv_extract.tsv;单击“增加”按钮,将要抽取的TSV文件添加到转换“tsv_extract”中;单击“内容”选项卡,清除分隔符处默认分隔符“;”并单击“Insert TAB”按钮,在分隔符处插入一个制表符,取消勾选“头部”复选框;单击"预览记录"按钮,查看文件tsv_extract.tsv的数据是否成功抽取到文本文件输入流中;具体如图2、图3、图4所示:

图2 添加TSV文件至转换tsv_extract中

图3 “内容”选项卡的配置

图4 “字段”选项卡的配置
3. 配置“表输出”控件
双击“表输出”控件,进入“表输出”控件的配置界面,单击"新建"按钮,配置数据库连接,配置完成后单击"确认"按钮,单击目标表右侧的"浏览"按钮,获取目标表,即数据表tsv,勾选图6中的“指定数据库字段”复选框;单击“数据库字段”选项卡,再单击"输入字段映射"按钮,弹出“映射匹配”对话框,将“源字段”选项框的字段和“目标字段”选项框对应的字段进行映射匹配,r如图5所示;“表输出”控件配置的最终效果,具体如图6所示:

图5 设置映射匹配

图6 “表输出”控件配置的效果图
4. 运行转换tsv_extract
单击转换工作区顶部的​​运行​​按钮,运行创建的tsv_extract转换,如下图7所示:

图7 运行转换tsv_extract
5.查看tsv数据表中的数据
通过SQLyog工具,查看数据表tsv是否已成功插入五行数据,如图8所示:

图8 tsv数据表

4.1.2 CSV文件的抽取

1.打开Kettle工具,创建转换
使用Kettle工具创建一个转换csv_extract,添加“文本文件输入”控件、“表输出”控件以及Hop跳连接线,用于实现CSV文件数据的抽取功能,具体如下图9所示:

图9 创建转换csv_extract
2.配置“CSV文件输入”控件
双击图中的“CSV文件输入 ”控件,进入“CSV文件输入”界面,单击下图中的“浏览”按钮,选择要抽取的文件csv_extract.csv; 之后单击图中的“获取字段”按钮,之后单击“预览”按钮,最后单击“确定”按钮,完成“CSV文本输入”控件的配置;具体如图10、图11所示:

图10 获取字段

图11 预览数据
3.配置“表输出”控件
双击图 中的“表输出”控件,进入“表输出”界面,单击“新建”按钮,配置数据库连接,配置完成后单击“确定”按钮;之后单击目标表右侧的“浏览”按钮,选择输出的目标表;勾选“指定数据库字段”复选框,选择“数据库字段”选择卡,单击“输入字段映射”按钮,弹出“映射匹配”对话框,如下图12所示,之后单击“确定”按钮,最后完成“表输出”控件的配置,具体如图13所示:

图12 “映射匹配”对话框

图13 “表输出”控件的配置效果
4.运行转换csv_extract
单击转换工作区顶部的运行按钮,运行创建的csv_extract转换,具体如图14所示:
图14 运行转换tsv_extract
5.查看数据库csv中的数据
通过SQLyog工具,查看数据表csv是否已成功插入100行数据,如图15所示:

图15 数据表csv

1“CSV文件输入”控件
2“表输出”控件

表1 CSV文件抽取的控件

4.2 抽取 Web数据

抽取Web数据主要是获取网页上的数据。Web网页上出现的数据形式主要有三种,分别是HTML形式、XML形式以及JSON形式。

4.2.1 HTML网页的数据抽取

1.打开Kettle工具,创建转换
通过使用Kettle工具,创建一个转换转换html_extract,并添加“自定义常量数据”输入控件、“HTTP client”查询控件和“Java代码”脚本控件,具体如图16所示:

图16 创建转换html_extract
2.配置“”定义常量数据”控件
双击图16中的“自定义常量数据”控件,进入“自定义常量数据”界面,单击“元数据”选项卡,定义一个字段常量filename并指定数据类型String;单击“数据”选项卡,添加html形式数据所在的URL,即https://movie.douban.com/chart,具体如图17、图18所示:

图17 “自定义常量数据”控件配置的效果

图18 “自定义常量数据”控件配置的效果
3.配置HTTP client控件
双击图16中“HTTP client”控件,进入“HTTP web service”界面,勾选图19的“从字段中获取URL?”的复选框;在“URL字段名”处的下拉框中选择URL字段名,即filename;在“结果字段名”处指定结果字段名称,这里选择默认的结果字段result。“HTTP client”控件配置的效果如图19所示:

图19 HTTP client控件配置的效果图
4.配置Java代码控件
双击图16中的“Java”控件,进入“Java代码”界面,双击“Code Snippits”→ “Common use”→ “Main”,添加Java脚本代码的主方法,即程序入口;在“Java代码”控件中的代码框编写抽取HTML网页数据的Java脚本代码(具体代码请参考如下图20所示);单击“Java代码”控件中的“字段”选项卡,用于添加新生成的字段;单击“参数”选项卡,用于传入参数。“字段”选项卡界面和“参数”选项卡界面具体如图21、图22所示:

图20 抽取HTML网页数据的Java脚本代码

图21 配置生成字段contents

图22 传入参数result
5.运行转换html_extract
单击转换工作区顶部的运行按钮,运行创建的html_extract转换,如图23所示:

图23 运行html_extract转换
6.查看html数据表中的数据
通过SQLyog工具,查看数据表html是否已成功插入66行数据,如图24所示:

图24 数据表html

4.2.2 XML文件的数据抽取

1.打开Kettle工具,创建转换
通过使用Kettle工具,创建一个转换转换xml_extract,并添加“Get data from XML”控件、“表输出”控件以及Hop跳连接线,具体如图25所示:

图25 创建转换xml_extract
2.配置Get data from XML控件
双击图25中的“Get data from XML”控件,进入“XML文件输入”界面,单击“浏览”按钮,选择要抽取的XML文件xml_extract.xml,单击“增加”按钮将选择的文件路径添加到“选中的文件和目录”处,具体如图26、图27所示;之后单击“内容”选项卡,单击“获取XML文档的所有路径”选择循环读取路径,即/AllRows/Rows/Row,如图28所示;单击“字段”选项卡,添加要抽取的字段,如图29所示:

图26 选择要抽取的XML文件xml_extract.xml

图27 添加XML文件xml_extract.xml至“选中的文件和目录”处

图28 添加循环读取路径

图29 添加要抽取的字段
3.配置表输出控件
双击图25中的“表输出”控件,进入“表输出”配置界面,单击“新建”按钮,配置数据库连接,配置完成后单击“确认”按钮;单击目标表右侧的“浏览”按钮,选择输出的目标表,即xml数据表;勾选“指定数据库字段”的复选框,用于将数据表xml的字段与XML文件xml_extract.xml文件中的字段进行匹配,单击“数据库字段”选项卡,再单击“输入字段映射”按钮,弹出“映射匹配”对话框,将“源字段”选项框的字段和“目标字段”选项框对应的字段进行映射匹配,如图30所示;“表输出”控件配置的最终效果,具体如图31所示:

图30 设置映射匹配

图31 表输出控件配置的最终效果图
5.运行转换xml_extract
单击转换工作区顶部的运行按钮,运行创建的xml_extract转换,如图32所示:

图32 运行xml_extract转换
6.查看数据表xml中的数据
通过SQLyog工具,查看数据表xml是否已成功插入6条数据,如图33所示:

图33 数据表xml

4.2.3 JSON文件的数据抽取

1.打开Kettle工具,创建转换
通过使用Kettle工具,创建一个转换json_extract,并添加“JSON input”控件、“表输出”控件以及Hop跳连接线,具体如图34所示:

图34 创建转换json_extract
2.配置JSON文件输入控件
双击图34中的“JSON input”控件,进入“JSON输入”界面,单击“浏览”按钮,选择要抽取的JSON文件json_extract.json,如图35所示;单击“增加”按钮,将所选择的文件添加到“选中的文件和目录”处,如图36所示;单击“字段”选项卡,添加要抽取的数据字段,如图37所示;之后双击“JSON input 2”控件,进入“JSON输入”界面,勾选“源定义在一个字段里?”的复选框;在“从字段获取源”处的下拉框中选择字段名,即data,如图38所示;单击“字段”选项卡,添加从字段data中抽取的field和value字段,如图39所示:

图35 选择要抽取的json_extract.json文件

图36 添加文件json_extract.json

图37 抽取id和data字段的配置

图38 从字段获取源的配置

图39 配置抽取的field和value字段
3.配置表输出控件
双击图34中的“表输出”控件,进入“表输出”配置界面,单击
“新建”按钮,配置数据库连接,配置完成后,单击“确认”按钮,单击目标表右侧的“浏览”按钮,选择输出的目标表,即数据表json;勾选“指定数据库字段”的复选框,用于将数据表json的字段与JSON文件json_extract.json中的字段进行匹配,单击“数据库字段”选项卡,再单击“输入字段映射”按钮,弹出“映射匹配”对话框,将“源字段”选项框的字段和“目标字段”选项框对应的字段进行映射匹配,“表输出”控件配置的最终效果,具体如图40、图41所示:

图40 设置映射匹配

图41 “表输出”界面最终显示的效果
4.运行转换json_extract
单击转换工作区顶部的运行按钮,运行创建的json_extract转换,如图42所示:
图42 运行转换json_extract
5.查看数据表json中的数据
通过SQLyog工具,查看数据表json是否已成功插入6条数据,具体如图43所示:

图43 数据表json

1“JSON input”控件
2“JSON input 2”控件
3“表输出”控件

表2 JSON文件数据抽取的控件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/282605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号